From 40f95580d314e360a55338d939408892ade34ac8 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Fri, 3 May 2024 16:04:41 +0800 Subject: [PATCH] fix init problem --- include/pocketpy/vm.h | 6 +++++- src/memory.cpp | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/pocketpy/vm.h b/include/pocketpy/vm.h index f8351a59..d05c01c6 100644 --- a/include/pocketpy/vm.h +++ b/include/pocketpy/vm.h @@ -363,8 +363,12 @@ public: } struct ImportContext{ + PK_ALWAYS_PASS_BY_POINTER(ImportContext) + std::vector pending; - pod_vector pending_is_init; // a.k.a __init__.py + std::vector pending_is_init; // a.k.a __init__.py + + ImportContext() {} struct Temp{ PK_ALWAYS_PASS_BY_POINTER(Temp) diff --git a/src/memory.cpp b/src/memory.cpp index 522c1738..6c4a0930 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -267,8 +267,8 @@ struct MemoryPool{ } }; -static MemoryPool<64>* pool64; -static MemoryPool<128>* pool128; +static MemoryPool<64>* pool64 = nullptr; +static MemoryPool<128>* pool128 = nullptr; void init_memory_pools_if_needed(){ if(pool64 == nullptr) pool64 = new MemoryPool<64>();