From 8458e49a307264640239457de26edb547d927437 Mon Sep 17 00:00:00 2001 From: szdytom Date: Thu, 13 Jun 2024 18:56:55 +0800 Subject: [PATCH] Minimum deleted slot required to refactor --- CMakeLists.txt | 4 ++-- src/objects/dict.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db995efa..38d74742 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,8 @@ if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8 /Ox /jumptablerdata /GS-") add_compile_options(/wd4267 /wd4244) else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti -O2") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # disable -Wshorten-64-to-32 for apple if(APPLE) diff --git a/src/objects/dict.c b/src/objects/dict.c index 2014303c..69f2557c 100644 --- a/src/objects/dict.c +++ b/src/objects/dict.c @@ -101,7 +101,7 @@ static void pkpy_Dict__extendht(pkpy_Dict* self, void* vm) { static bool pkpy_Dict__refactor(pkpy_Dict* self, void* vm) { int deleted_slots = self->_entries.count - self->count; - if(deleted_slots < self->_entries.count * 0.25) return false; + if(deleted_slots >= 8 && deleted_slots < self->_entries.count * 0.25) return false; // shrink self->_version += 1;