details: https://hg.nginx.org/njs/rev/0efac7257447
branches:
changeset: 1611:0efac7257447
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Wed Feb 24 14:50:14 2021 +0000
description:
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.
diffstat:
src/njs_disassembler.c | 12 ++++++++++--
src/njs_vm.c | 1 -
src/njs_vm.h | 2 --
3 files changed, 10 insertions(+), 5 deletions(-)
diffs (46 lines):
diff -r 1f22e9008cc3 -r 0efac7257447 src/njs_disassembler.c
--- a/src/njs_disassembler.c Wed Feb 24 14:48:20 2021 +0000
+++ b/src/njs_disassembler.c Wed Feb 24 14:50:14 2021 +0000
@@ -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 -r 1f22e9008cc3 -r 0efac7257447 src/njs_vm.c
--- a/src/njs_vm.c Wed Feb 24 14:48:20 2021 +0000
+++ b/src/njs_vm.c Wed Feb 24 14:50:14 2021 +0000
@@ -156,7 +156,6 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
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 -r 1f22e9008cc3 -r 0efac7257447 src/njs_vm.h
--- a/src/njs_vm.h Wed Feb 24 14:48:20 2021 +0000
+++ b/src/njs_vm.h Wed Feb 24 14:50:14 2021 +0000
@@ -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;
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel