details: https://hg.nginx.org/njs/rev/c48ecb7b24d7 branches: changeset: 1858:c48ecb7b24d7 user: Dmitry Volyntsev <xei...@nginx.com> date: Tue May 17 23:26:09 2022 -0700 description: Added generator debug.
diffstat: src/njs_generator.c | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) diffs (74 lines): diff -r 3e754413e907 -r c48ecb7b24d7 src/njs_generator.c --- a/src/njs_generator.c Tue May 17 23:26:05 2022 -0700 +++ b/src/njs_generator.c Tue May 17 23:26:09 2022 -0700 @@ -427,6 +427,16 @@ static njs_int_t njs_generate_index_rele ##__VA_ARGS__) +#ifdef NJS_GENERATOR_DEBUG +#define njs_generator_debug(msg, ...) njs_printf(msg "\n", ##__VA_ARGS__) +#define njs_generator_debug_code(code) \ + njs_disassemble((u_char *) code, NULL, 1, NULL) +#else +#define njs_generator_debug(msg, ...) +#define njs_generator_debug_code(code) +#endif + + static const njs_str_t no_label = njs_str(""); static const njs_str_t return_label = njs_str("@return"); /* GCC and Clang complain about NULL argument passed to memcmp(). */ @@ -725,7 +735,6 @@ njs_generate(njs_vm_t *vm, njs_generator return njs_generate_await(vm, generator, node); default: - njs_thread_log_debug("unknown token: %d", node->token); njs_internal_error(vm, "Generator failed: unknown token"); return NJS_ERROR; @@ -3368,8 +3377,7 @@ njs_generate_3addr_operation_end(njs_vm_ code->dst = node->index; - njs_thread_log_debug("CODE3 %p, %p, %p", - code->dst, code->src1, code->src2); + njs_generator_debug_code(code); return njs_generator_stack_pop(vm, generator, generator->context); } @@ -3404,7 +3412,7 @@ njs_generate_2addr_operation_end(njs_vm_ code->dst = node->index; - njs_thread_log_debug("CODE2 %p, %p", code->dst, code->src); + njs_generator_debug_code(code); return njs_generator_stack_pop(vm, generator, NULL); } @@ -3453,7 +3461,7 @@ njs_generate_typeof_operation_end(njs_vm code->dst = node->index; - njs_thread_log_debug("CODE2 %p, %p", code->dst, code->src); + njs_generator_debug_code(code); return njs_generator_stack_pop(vm, generator, NULL); } @@ -4898,7 +4906,7 @@ njs_generate_temp_index_get(njs_vm_t *vm if (cache != NULL && cache->items != 0) { last = njs_arr_remove_last(cache); - njs_thread_log_debug("CACHE %p", *last); + njs_generator_debug("INDEX REUSE %04Xz", (size_t) *last); return *last; } @@ -4964,7 +4972,7 @@ njs_generate_index_release(njs_vm_t *vm, njs_arr_t *cache; njs_index_t *last; - njs_thread_log_debug("RELEASE %p", index); + njs_generator_debug("INDEX RELEASE %04Xz", (size_t) index); cache = generator->index_cache; _______________________________________________ nginx-devel mailing list -- nginx-devel@nginx.org To unsubscribe send an email to nginx-devel-le...@nginx.org