From 450b7e1e3cad716222aaa58f32bbd110e0a7b54e Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Tue, 2 May 2023 21:31:45 +0800 Subject: [PATCH] ... --- src/vm.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vm.h b/src/vm.h index 9de8b734..9ea09c7d 100644 --- a/src/vm.h +++ b/src/vm.h @@ -80,6 +80,7 @@ public: ValueStack s_data; stack< Frame > callstack; std::vector _all_types; + void (*_gc_marker_ex)(VM*) = nullptr; NameDict _modules; // loaded modules std::map _lazy_modules; // lazy loaded modules @@ -1191,6 +1192,7 @@ inline void ManagedHeap::mark() { for(PyObject* obj: _no_gc) OBJ_MARK(obj); for(auto& frame : vm->callstack.data()) frame._gc_mark(); for(PyObject* obj: vm->s_data) if(obj!=nullptr) OBJ_MARK(obj); + if(vm->_gc_marker_ex != nullptr) vm->_gc_marker_ex(vm); } inline Str obj_type_name(VM *vm, Type type){