From 96eaeb49f5dedf3b5d81495cf1ab8822ade77ccb Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Sun, 14 Apr 2024 01:20:56 +0800 Subject: [PATCH] some fix --- include/pocketpy/config.h | 1 + src/vm.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/pocketpy/config.h b/include/pocketpy/config.h index 5f6dc1b9..a777ad11 100644 --- a/include/pocketpy/config.h +++ b/include/pocketpy/config.h @@ -45,6 +45,7 @@ #define PK_DEBUG_NO_MEMORY_POOL 0 #define PK_DEBUG_NO_AUTO_GC 0 #define PK_DEBUG_GC_STATS 0 +#define PK_DEBUG_PRECOMPILED_EXEC 0 /*************** internal settings ***************/ diff --git a/src/vm.cpp b/src/vm.cpp index 56e9c61f..383de456 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -159,10 +159,11 @@ namespace pkpy{ PyObject* VM::exec(std::string_view source, Str filename, CompileMode mode, PyObject* _module){ if(_module == nullptr) _module = _main; try { - CodeObject_ code = compile(source, filename, mode); -#if PK_DEBUG_DIS_EXEC - if(_module == _main) std::cout << disassemble(code) << '\n'; +#if PK_DEBUG_PRECOMPILED_EXEC == 1 + Str precompiled = vm->precompile(source, filename, mode); + source = precompiled.sv(); #endif + CodeObject_ code = compile(source, filename, mode); return _exec(code, _module); }catch (const Exception& e){ stderr_write(e.summary() + "\n");