|
|
@@ -512,7 +512,7 @@ FrameResult VM__vectorcall(VM* self, uint16_t argc, uint16_t kwargc, bool opcall
|
|
|
// submit the call
|
|
|
if(!fn->cfunc) {
|
|
|
// python function
|
|
|
- VM__push_frame(self, Frame__new(co, p0, fn->module, fn->globals, argv, false));
|
|
|
+ VM__push_frame(self, Frame__new(co, p0, fn->module, &fn->globals, argv, false));
|
|
|
return opcall ? RES_CALL : VM__run_top_frame(self);
|
|
|
} else {
|
|
|
// decl-based binding
|
|
|
@@ -541,7 +541,7 @@ FrameResult VM__vectorcall(VM* self, uint16_t argc, uint16_t kwargc, bool opcall
|
|
|
// submit the call
|
|
|
if(!fn->cfunc) {
|
|
|
// python function
|
|
|
- VM__push_frame(self, Frame__new(co, p0, fn->module, fn->globals, argv, false));
|
|
|
+ VM__push_frame(self, Frame__new(co, p0, fn->module, &fn->globals, argv, false));
|
|
|
return opcall ? RES_CALL : VM__run_top_frame(self);
|
|
|
} else {
|
|
|
// decl-based binding
|
|
|
@@ -557,7 +557,7 @@ FrameResult VM__vectorcall(VM* self, uint16_t argc, uint16_t kwargc, bool opcall
|
|
|
// copy buffer back to stack
|
|
|
self->stack.sp = argv + co->nlocals;
|
|
|
memcpy(argv, self->vectorcall_buffer, co->nlocals * sizeof(py_TValue));
|
|
|
- py_Frame* frame = Frame__new(co, p0, fn->module, fn->globals, argv, false);
|
|
|
+ py_Frame* frame = Frame__new(co, p0, fn->module, &fn->globals, argv, false);
|
|
|
pk_newgenerator(py_retval(), frame, p0, self->stack.sp);
|
|
|
self->stack.sp = p0; // reset the stack
|
|
|
return RES_RETURN;
|