nxt_printf("%05uz ARRAY %04Xz %uz%s\n",
p - start, (size_t) array->retval,
- (size_t) array->length, array->code.ctor ? " INIT" : "");
+ (size_t) array->length, array->ctor ? " INIT" : "");
p += sizeof(njs_vmcode_array_t);
nxt_printf("%05uz FUNCTION FRAME %04Xz %uz%s\n",
p - start, (size_t) function->name, function->nargs,
- function->code.ctor ? " CTOR" : "");
+ function->ctor ? " CTOR" : "");
p += sizeof(njs_vmcode_function_frame_t);
nxt_printf("%05uz METHOD FRAME %04Xz %04Xz %uz%s\n",
p - start, (size_t) method->object,
(size_t) method->method, method->nargs,
- method->code.ctor ? " CTOR" : "");
+ method->ctor ? " CTOR" : "");
p += sizeof(njs_vmcode_method_frame_t);
continue;
njs_generate_code(generator, njs_vmcode_array_t, array,
NJS_VMCODE_ARRAY, 1, 1);
- array->code.ctor = node->ctor;
+ array->ctor = node->ctor;
array->retval = node->index;
array->length = node->u.length;
njs_generate_code(generator, njs_vmcode_function_frame_t, func,
NJS_VMCODE_FUNCTION_FRAME, 2, 0);
func_offset = njs_code_offset(generator, func);
- func->code.ctor = node->ctor;
+ func->ctor = node->ctor;
func->name = name->index;
ret = njs_generate_call(vm, generator, node);
njs_generate_code(generator, njs_vmcode_method_frame_t, method,
NJS_VMCODE_METHOD_FRAME, 3, 0);
method_offset = njs_code_offset(generator, method);
- method->code.ctor = node->ctor;
+ method->ctor = node->ctor;
method->object = prop->left->index;
method->method = prop->right->index;
ret = njs_function_frame_create(vm, value1,
&njs_value_undefined,
(uintptr_t) value2,
- function_frame->code.ctor);
+ function_frame->ctor);
if (nxt_slow_path(ret != NXT_OK)) {
goto error;
if (nxt_fast_path(array != NULL)) {
- if (code->code.ctor) {
+ if (code->ctor) {
/* Array of the form [,,,], [1,,]. */
value = array->start;
length = array->length;
}
ret = njs_function_frame_create(vm, value, object, method->nargs,
- method->code.ctor);
+ method->ctor);
if (nxt_fast_path(ret == NXT_OK)) {
return sizeof(njs_vmcode_method_frame_t);
njs_vmcode_operation_t operation;
uint8_t operands; /* 2 bits */
uint8_t retval; /* 1 bit */
- uint8_t ctor; /* 1 bit */
} njs_vmcode_t;
njs_vmcode_t code;
njs_index_t retval;
uintptr_t length;
+ uint8_t ctor; /* 1 bit */
} njs_vmcode_array_t;
njs_vmcode_t code;
njs_index_t nargs;
njs_index_t name;
+ uint8_t ctor; /* 1 bit */
} njs_vmcode_function_frame_t;
njs_index_t nargs;
njs_index_t object;
njs_index_t method;
+ uint8_t ctor; /* 1 bit */
} njs_vmcode_method_frame_t;