mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 04:50:17 +00:00
fix py_exec
This commit is contained in:
parent
02d3512681
commit
4268cff072
@ -553,10 +553,11 @@ i64 VM::py_hash(PyVar obj) {
|
||||
}
|
||||
|
||||
PyVar VM::__py_exec_internal(const CodeObject_& code, PyVar globals, PyVar locals) {
|
||||
Frame* frame = &vm->callstack.top();
|
||||
Frame* frame = nullptr;
|
||||
if(!callstack.empty()) frame = &callstack.top();
|
||||
|
||||
// fast path
|
||||
if(globals == vm->None && locals == vm->None) {
|
||||
if(frame && globals == vm->None && locals == vm->None) {
|
||||
return vm->_exec(code.get(), frame->_module, frame->_callable, frame->_locals);
|
||||
}
|
||||
|
||||
@ -568,7 +569,7 @@ PyVar VM::__py_exec_internal(const CodeObject_& code, PyVar globals, PyVar local
|
||||
NameDict_ locals_closure = nullptr;
|
||||
Dict* locals_dict = nullptr;
|
||||
|
||||
if(globals == vm->None) {
|
||||
if(frame && globals == vm->None) {
|
||||
globals_obj = frame->_module;
|
||||
} else {
|
||||
if(is_type(globals, VM::tp_mappingproxy)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user