[njs] VM: removed vm->global_items.
Dmitry Volyntsev
xeioex at nginx.com
Wed Apr 5 05:51:34 UTC 2023
details: https://hg.nginx.org/njs/rev/b2cacf654542
branches:
changeset: 2079:b2cacf654542
user: Dmitry Volyntsev <xeioex at nginx.com>
date: Tue Apr 04 22:17:26 2023 -0700
description:
VM: removed vm->global_items.
diffstat:
src/njs_vm.c | 15 ++++++++-------
src/njs_vm.h | 1 -
2 files changed, 8 insertions(+), 8 deletions(-)
diffs (71 lines):
diff -r 8dcea0ba0bf8 -r b2cacf654542 src/njs_vm.c
--- a/src/njs_vm.c Wed Mar 29 20:28:33 2023 -0700
+++ b/src/njs_vm.c Tue Apr 04 22:17:26 2023 -0700
@@ -145,6 +145,7 @@ njs_vm_destroy(njs_vm_t *vm)
njs_int_t
njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end)
{
+ size_t global_items;
njs_int_t ret;
njs_str_t ast;
njs_chb_t chain;
@@ -156,6 +157,8 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
vm->codes = NULL;
+ global_items = (vm->global_scope != NULL) ? vm->global_scope->items : 0;
+
ret = njs_parser_init(vm, &parser, vm->global_scope, &vm->options.file,
*start, end, 0);
if (njs_slow_path(ret != NJS_OK)) {
@@ -202,9 +205,7 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
return NJS_ERROR;
}
- vm->global_scope = scope;
-
- if (scope->items > vm->global_items) {
+ if (scope->items > global_items) {
global = vm->levels[NJS_LEVEL_GLOBAL];
new = njs_scope_make(vm, scope->items);
@@ -215,8 +216,8 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
vm->levels[NJS_LEVEL_GLOBAL] = new;
if (global != NULL) {
- while (vm->global_items != 0) {
- vm->global_items--;
+ while (global_items != 0) {
+ global_items--;
*new++ = *global++;
}
@@ -228,7 +229,7 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
vm->start = generator.code_start;
vm->variables_hash = &scope->variables;
- vm->global_items = scope->items;
+ vm->global_scope = scope;
if (vm->options.disassemble) {
njs_disassembler(vm);
@@ -351,7 +352,7 @@ njs_vm_clone(njs_vm_t *vm, njs_external_
goto fail;
}
- global = njs_scope_make(nvm, nvm->global_items);
+ global = njs_scope_make(nvm, nvm->global_scope->items);
if (njs_slow_path(global == NULL)) {
goto fail;
}
diff -r 8dcea0ba0bf8 -r b2cacf654542 src/njs_vm.h
--- a/src/njs_vm.h Wed Mar 29 20:28:33 2023 -0700
+++ b/src/njs_vm.h Tue Apr 04 22:17:26 2023 -0700
@@ -126,7 +126,6 @@ struct njs_vm_s {
njs_arr_t *scope_absolute;
njs_value_t **levels[NJS_LEVEL_MAX];
- size_t global_items;
njs_external_ptr_t external;
More information about the nginx-devel
mailing list