|
|
@@ -1196,11 +1196,11 @@ void ManagedHeap::mark() {
|
|
|
for(PyObject* obj: _no_gc) PK_OBJ_MARK(obj);
|
|
|
for(auto& frame : vm->callstack.data()) frame._gc_mark();
|
|
|
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->_curr_class) PK_OBJ_MARK(vm->_curr_class);
|
|
|
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){
|