From: Dmitry Volyntsev Date: Wed, 24 Feb 2021 14:50:14 +0000 (+0000) Subject: Eliminating vm->main_index introduced in ea2ec4c3ed7d. X-Git-Tag: 0.5.2~8 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=1c4eb4725c8465ea8ef6972d853b00259017cc30;p=njs.git Eliminating vm->main_index introduced in ea2ec4c3ed7d. The vm->main_index was only needed for the disassembler in the accumulative mode. It was used to prevent from disassembling the code from the previous iterations in the CLI. The same result can be achieved without introducing the VM level field. --- diff --git a/src/njs_disassembler.c b/src/njs_disassembler.c index af99cafb..dd67fa61 100644 --- a/src/njs_disassembler.c +++ b/src/njs_disassembler.c @@ -146,8 +146,16 @@ njs_disassembler(njs_vm_t *vm) njs_vm_code_t *code; code = vm->codes->start; - code += vm->main_index; - n = vm->codes->items - vm->main_index; + n = vm->codes->items; + + while (n != 0) { + if (code->start == vm->start) { + break; + } + + code++; + n--; + } while (n != 0) { njs_printf("%V:%V\n", &code->file, &code->name); diff --git a/src/njs_vm.c b/src/njs_vm.c index a4e708ec..366a5e55 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -156,7 +156,6 @@ njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end) return NJS_ERROR; } - vm->main_index = code - (njs_vm_code_t *) vm->codes->start; vm->start = generator.code_start; vm->global_scope = generator.local_scope; vm->scope_size = generator.scope_size; diff --git a/src/njs_vm.h b/src/njs_vm.h index c2329085..47f0f879 100644 --- a/src/njs_vm.h +++ b/src/njs_vm.h @@ -233,9 +233,7 @@ struct njs_vm_s { njs_object_t string_object; njs_object_t global_object; - njs_uint_t main_index; njs_arr_t *codes; /* of njs_vm_code_t */ - njs_arr_t *functions_name_cache; njs_trace_t trace;