From 15c254ab87d636b14d21f2149516c51cad806356 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Fri, 3 May 2024 16:36:50 +0800 Subject: [PATCH] rollback fix init --- include/pocketpy/memory.h | 2 -- src/memory.cpp | 25 ++++++++++--------------- src/vm.cpp | 1 - 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/include/pocketpy/memory.h b/include/pocketpy/memory.h index 4b1fd0e2..14327ae4 100644 --- a/include/pocketpy/memory.h +++ b/include/pocketpy/memory.h @@ -4,8 +4,6 @@ namespace pkpy{ -void init_memory_pools_if_needed(); - void* pool64_alloc(size_t) noexcept; void pool64_dealloc(void*) noexcept; diff --git a/src/memory.cpp b/src/memory.cpp index 6c4a0930..2926b944 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -267,26 +267,21 @@ struct MemoryPool{ } }; -static MemoryPool<64>* pool64 = nullptr; -static MemoryPool<128>* pool128 = nullptr; +static MemoryPool<64> pool64; +static MemoryPool<128> pool128; -void init_memory_pools_if_needed(){ - if(pool64 == nullptr) pool64 = new MemoryPool<64>(); - if(pool128 == nullptr) pool128 = new MemoryPool<128>(); -} +void* pool64_alloc(size_t size) noexcept { return pool64.alloc(size); } +void pool64_dealloc(void* p) noexcept { pool64.dealloc(p); } -void* pool64_alloc(size_t size) noexcept { return pool64->alloc(size); } -void pool64_dealloc(void* p) noexcept { pool64->dealloc(p); } - -void* pool128_alloc(size_t size) noexcept { return pool128->alloc(size); } -void pool128_dealloc(void* p) noexcept { pool128->dealloc(p); } +void* pool128_alloc(size_t size) noexcept { return pool128.alloc(size); } +void pool128_dealloc(void* p) noexcept { pool128.dealloc(p); } void pools_shrink_to_fit() noexcept { - pool64->shrink_to_fit(); - pool128->shrink_to_fit(); + pool64.shrink_to_fit(); + pool128.shrink_to_fit(); } -std::string pool64_info() noexcept { return pool64->info(); } -std::string pool128_info() noexcept { return pool128->info(); } +std::string pool64_info() noexcept { return pool64.info(); } +std::string pool128_info() noexcept { return pool128.info(); } } \ No newline at end of file diff --git a/src/vm.cpp b/src/vm.cpp index ea5ea5d8..e1305fa7 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -73,7 +73,6 @@ namespace pkpy{ }; VM::VM(bool enable_os) : heap(this), enable_os(enable_os) { - init_memory_pools_if_needed(); this->vm = this; this->_c.error = nullptr; _stdout = [](const char* buf, int size) { std::cout.write(buf, size); };