]> git.kaiwu.me - njs.git/commitdiff
VM: removed unused NJS_VMCODE_OBJECT_COPY instruction.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 13 Apr 2023 01:26:40 +0000 (18:26 -0700)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 13 Apr 2023 01:26:40 +0000 (18:26 -0700)
src/njs_disassembler.c
src/njs_vmcode.c
src/njs_vmcode.h

index 0588805c76b15972fcf42657ab4e1dae365f69f3..7c468d5851413d97b16fd138844d2ddce39bc433 100644 (file)
@@ -29,8 +29,6 @@ static njs_code_name_t  code_names[] = {
           njs_str("REGEXP          ") },
     { NJS_VMCODE_TEMPLATE_LITERAL, sizeof(njs_vmcode_template_literal_t),
           njs_str("TEMPLATE LITERAL") },
-    { NJS_VMCODE_OBJECT_COPY, sizeof(njs_vmcode_object_copy_t),
-          njs_str("OBJECT COPY     ") },
 
     { NJS_VMCODE_FUNCTION_COPY, sizeof(njs_vmcode_function_copy_t),
           njs_str("FUNCTION COPY   ") },
index 1c3b231063f917cbf6b578fa237150b5064081f2..a6b00d8b6fcdb20a47721bd2bf134775860350aa 100644 (file)
@@ -20,8 +20,6 @@ static njs_jump_off_t njs_vmcode_arguments(njs_vm_t *vm, u_char *pc);
 static njs_jump_off_t njs_vmcode_regexp(njs_vm_t *vm, u_char *pc);
 static njs_jump_off_t njs_vmcode_template_literal(njs_vm_t *vm,
     njs_value_t *inlvd1, njs_value_t *inlvd2);
-static njs_jump_off_t njs_vmcode_object_copy(njs_vm_t *vm, njs_value_t *value,
-    njs_value_t *invld);
 static njs_jump_off_t njs_vmcode_function_copy(njs_vm_t *vm, njs_value_t *value,
     njs_index_t retval);
 
@@ -206,7 +204,6 @@ njs_vmcode_interpreter(njs_vm_t *vm, u_char *pc, void *promise_cap,
         NJS_GOTO_ROW(NJS_VMCODE_LEFT_SHIFT),
         NJS_GOTO_ROW(NJS_VMCODE_RIGHT_SHIFT),
         NJS_GOTO_ROW(NJS_VMCODE_UNSIGNED_RIGHT_SHIFT),
-        NJS_GOTO_ROW(NJS_VMCODE_OBJECT_COPY),
         NJS_GOTO_ROW(NJS_VMCODE_TEMPLATE_LITERAL),
         NJS_GOTO_ROW(NJS_VMCODE_PROPERTY_IN),
         NJS_GOTO_ROW(NJS_VMCODE_PROPERTY_DELETE),
@@ -874,23 +871,6 @@ NEXT_LBL;
         njs_set_uint32(retval, njs_number_to_uint32(num) >> u32);
         NEXT;
 
-    CASE (NJS_VMCODE_OBJECT_COPY):
-        njs_vmcode_debug_opcode();
-
-        njs_vmcode_operand(vm, vmcode->operand2, value1);
-
-        ret = njs_vmcode_object_copy(vm, value1, NULL);
-
-        if (njs_slow_path(ret < 0 && ret >= NJS_PREEMPT)) {
-            goto error;
-        }
-
-        njs_vmcode_operand(vm, vmcode->operand1, retval);
-        njs_release(vm, retval);
-        *retval = vm->retval;
-
-        BREAK;
-
     CASE (NJS_VMCODE_TEMPLATE_LITERAL):
         njs_vmcode_debug_opcode();
 
@@ -2041,42 +2021,6 @@ njs_vmcode_template_literal(njs_vm_t *vm, njs_value_t *invld1,
 }
 
 
-static njs_jump_off_t
-njs_vmcode_object_copy(njs_vm_t *vm, njs_value_t *value, njs_value_t *invld)
-{
-    njs_object_t    *object;
-    njs_function_t  *function;
-
-    switch (value->type) {
-
-    case NJS_OBJECT:
-        object = njs_object_value_copy(vm, value);
-        if (njs_slow_path(object == NULL)) {
-            return NJS_ERROR;
-        }
-
-        break;
-
-    case NJS_FUNCTION:
-        function = njs_function_value_copy(vm, value);
-        if (njs_slow_path(function == NULL)) {
-            return NJS_ERROR;
-        }
-
-        break;
-
-    default:
-        break;
-    }
-
-    vm->retval = *value;
-
-    njs_retain(value);
-
-    return sizeof(njs_vmcode_object_copy_t);
-}
-
-
 static njs_jump_off_t
 njs_vmcode_function_copy(njs_vm_t *vm, njs_value_t *value, njs_index_t retidx)
 {
index a6071d3c78edddbcd366a80ce63bb11fac79fcc7..3fdb13af6f80442c12a57c49e2926f25500da30e 100644 (file)
@@ -92,7 +92,6 @@ enum {
     NJS_VMCODE_LEFT_SHIFT,
     NJS_VMCODE_RIGHT_SHIFT,
     NJS_VMCODE_UNSIGNED_RIGHT_SHIFT,
-    NJS_VMCODE_OBJECT_COPY,
     NJS_VMCODE_TEMPLATE_LITERAL,
     NJS_VMCODE_PROPERTY_IN,
     NJS_VMCODE_PROPERTY_DELETE,