vm->global_object = shared->objects[0];
vm->global_object.shared = 0;
- njs_set_object(&vm->global_value, &vm->global_object);
-
string_object = &shared->string_object;
njs_lvlhsh_init(&string_object->hash);
string_object->shared_hash = shared->string_instance_hash;
ctx.type = NJS_BUILTIN_TRAVERSE_KEYS;
njs_lvlhsh_init(&ctx.keys);
- ret = njs_object_traverse(vm, &vm->global_object, &ctx,
+ ret = njs_object_traverse(vm, njs_object(&vm->global_value), &ctx,
njs_builtin_traverse);
if (njs_slow_path(ret != NJS_OK)) {
return NULL;
ctx.match = njs_str_value("");
- ret = njs_object_traverse(vm, &vm->global_object, &ctx,
+ ret = njs_object_traverse(vm, njs_object(&vm->global_value), &ctx,
njs_builtin_traverse);
if (ret == NJS_DONE) {
if (njs_slow_path(function->global_this
&& njs_is_null_or_undefined(this)))
{
- njs_set_object(native_frame->local[0], &vm->global_object);
+ njs_value_assign(native_frame->local[0], &vm->global_value);
}
/* Copy arguments. */
nvm->levels[NJS_LEVEL_GLOBAL] = global;
- njs_set_object(&nvm->global_value, &nvm->global_object);
-
/* globalThis and this */
njs_scope_value_set(nvm, njs_scope_global_this_index(), &nvm->global_value);
start = path->start;
end = start + path->length;
- njs_set_object(&value, &vm->global_object);
+ njs_value_assign(&value, &vm->global_value);
for ( ;; ) {
p = njs_strlchr(start, end, '.');