From: Dmitry Volyntsev Date: Wed, 28 Feb 2024 07:24:55 +0000 (-0800) Subject: Simplified working with global value. X-Git-Tag: 0.8.4~24 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=8a88d30dc5fcbfda96e4c81cc5f1282f79691924;p=njs.git Simplified working with global value. --- diff --git a/src/njs_builtin.c b/src/njs_builtin.c index 38ffe541..b9514a0f 100644 --- a/src/njs_builtin.c +++ b/src/njs_builtin.c @@ -258,8 +258,6 @@ njs_builtin_objects_create(njs_vm_t *vm) 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; @@ -442,7 +440,7 @@ njs_builtin_completions(njs_vm_t *vm) 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; @@ -753,7 +751,7 @@ njs_builtin_match_native_function(njs_vm_t *vm, njs_function_t *function, 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) { diff --git a/src/njs_function.c b/src/njs_function.c index 1413ed84..5e824aee 100644 --- a/src/njs_function.c +++ b/src/njs_function.c @@ -435,7 +435,7 @@ njs_function_lambda_frame(njs_vm_t *vm, njs_function_t *function, 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. */ diff --git a/src/njs_vm.c b/src/njs_vm.c index fa8a19ba..cc57236f 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -425,8 +425,6 @@ njs_vm_clone(njs_vm_t *vm, njs_external_ptr_t external) 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); @@ -826,7 +824,7 @@ njs_vm_value(njs_vm_t *vm, const njs_str_t *path, njs_value_t *retval) 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, '.');