From 044ccb4bc6597723cae2d5ac7a9e2c1fb3d62758 Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Sun, 6 Aug 2023 20:02:12 +0800 Subject: [PATCH] :sparkles: add profiling tools in debug mode --- src/main.cpp | 51 ++++++----- src/nasal_codegen.cpp | 13 +-- src/nasal_codegen.h | 1 + src/nasal_dbg.cpp | 197 +++++++++++++++++++++++++----------------- src/nasal_dbg.h | 88 ++++++++++++++++++- src/nasal_err.h | 5 +- src/nasal_import.h | 6 +- src/nasal_vm.cpp | 2 +- 8 files changed, 250 insertions(+), 113 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a29b583..29c8864 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,14 +16,16 @@ #include #include -const u32 VM_RAW_AST = 1; -const u32 VM_AST = 1<<1; -const u32 VM_CODE = 1<<2; -const u32 VM_TIME = 1<<3; -const u32 VM_EXEC = 1<<4; -const u32 VM_DETAIL = 1<<5; -const u32 VM_DEBUG = 1<<6; -const u32 VM_SYMINFO = 1<<7; +const u32 VM_RAW_AST = 1; +const u32 VM_AST = 1<<1; +const u32 VM_CODE = 1<<2; +const u32 VM_TIME = 1<<3; +const u32 VM_EXEC = 1<<4; +const u32 VM_DETAIL = 1<<5; +const u32 VM_DEBUG = 1<<6; +const u32 VM_SYMINFO = 1<<7; +const u32 VM_PROFILE = 1<<8; +const u32 VM_PROF_ALL = 1<<9; std::ostream& help(std::ostream& out) { out @@ -36,22 +38,25 @@ std::ostream& help(std::ostream& out) { #endif << "\nnasal