]> git.kaiwu.me - njs.git/commitdiff
Removed function call flag.
authorhongzhidao <hongzhidao@gmail.com>
Sat, 27 Jul 2019 02:37:38 +0000 (22:37 -0400)
committerhongzhidao <hongzhidao@gmail.com>
Sat, 27 Jul 2019 02:37:38 +0000 (22:37 -0400)
njs/njs_function.c
njs/njs_function.h
njs/njs_vmcode.c

index c3e4216e87459d623dc4c5b2d3cc7098e3a491e4..121225facf2b319b2c0b106a5f50d2fc39e39d49 100644 (file)
@@ -568,8 +568,6 @@ njs_function_lambda_call(njs_vm_t *vm)
         }
     }
 
-    frame->native.call = 1;
-
     vm->active_frame = frame;
 
     return njs_vmcode_interpreter(vm, lambda->start);
index 819d05b382c38a2d8d662c8af46e19182913d942..48665db7027aba44787725a4e3317c3aa7d4b44f 100644 (file)
@@ -89,8 +89,6 @@ struct njs_native_frame_s {
 
     /* Skip the Function.call() and Function.apply() methods frames. */
     uint8_t                        skip;              /* 1 bit  */
-
-    uint8_t                        call;              /* 1 bit */
 };
 
 
index 588d51fe0cd4186e4ddc6497e63750d6e23e320b..103364ca0e7a32c18b5b26f5d19715b78a60ef8f 100644 (file)
@@ -87,7 +87,7 @@ njs_vmcode_interpreter(njs_vm_t *vm, u_char *pc)
     uint32_t                     u32;
     njs_ret_t                    ret;
     nxt_uint_t                   hint;
-    nxt_bool_t                   valid, call;
+    nxt_bool_t                   valid, lambda_call;
     njs_value_t                  *retval, *value1, *value2, *src, *s1, *s2;
     njs_value_t                  numeric1, numeric2, primitive1, primitive2,
                                  dst;
@@ -855,7 +855,7 @@ error:
             break;
         }
 
-        call = frame->native.call;
+        lambda_call = (frame == vm->active_frame);
 
         njs_vm_scopes_restore(vm, frame, previous);
 
@@ -864,7 +864,7 @@ error:
             nxt_mp_free(vm->mem_pool, frame);
         }
 
-        if (call) {
+        if (lambda_call) {
             break;
         }
     }