From 1c4eb4725c8465ea8ef6972d853b00259017cc30 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Wed, 24 Feb 2021 14:50:14 +0000 Subject: [PATCH] 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. --- src/njs_disassembler.c | 12 ++++++++++-- src/njs_vm.c | 1 - src/njs_vm.h | 2 -- 3 files changed, 10 insertions(+), 5 deletions(-) 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; -- 2.47.3