mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
de0db63bca
commit
094fac8f72
@ -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) {
|
||||||
|
@ -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){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user