This commit is contained in:
blueloveTH 2024-01-11 22:40:41 +08:00
parent de0db63bca
commit 094fac8f72
2 changed files with 2 additions and 3 deletions

View File

@ -147,7 +147,6 @@ __NEXT_STEP:;
PUSH(_0); PUSH(_0);
} DISPATCH(); } DISPATCH();
TARGET(LOAD_NAME) { TARGET(LOAD_NAME) {
if(heap._should_auto_collect()) heap._auto_collect();
StrName _name(byte.arg); StrName _name(byte.arg);
PyObject** slot = frame->_locals.try_get_name(_name); PyObject** slot = frame->_locals.try_get_name(_name);
if(slot != nullptr) { if(slot != nullptr) {

View File

@ -1196,11 +1196,11 @@ void ManagedHeap::mark() {
for(PyObject* obj: _no_gc) PK_OBJ_MARK(obj); for(PyObject* obj: _no_gc) PK_OBJ_MARK(obj);
for(auto& frame : vm->callstack.data()) frame._gc_mark(); for(auto& frame : vm->callstack.data()) frame._gc_mark();
for(PyObject* obj: vm->s_data) PK_OBJ_MARK(obj); for(PyObject* obj: vm->s_data) PK_OBJ_MARK(obj);
if(_gc_marker_ex) _gc_marker_ex(vm); for(auto [_, co]: vm->_cached_codes) co->_gc_mark();
if(vm->_last_exception) PK_OBJ_MARK(vm->_last_exception); if(vm->_last_exception) PK_OBJ_MARK(vm->_last_exception);
if(vm->_curr_class) PK_OBJ_MARK(vm->_curr_class); if(vm->_curr_class) PK_OBJ_MARK(vm->_curr_class);
if(vm->_c.error != nullptr) PK_OBJ_MARK(vm->_c.error); if(vm->_c.error != nullptr) PK_OBJ_MARK(vm->_c.error);
for(auto [_, co]: vm->_cached_codes) co->_gc_mark(); if(_gc_marker_ex) _gc_marker_ex(vm);
} }
StrName obj_type_name(VM *vm, Type type){ StrName obj_type_name(VM *vm, Type type){