Bläddra i källkod

some fix about `emplace`

blueloveTH 2 år sedan
förälder
incheckning
3d5b50a527
2 ändrade filer med 2 tillägg och 2 borttagningar
  1. 1 1
      include/pocketpy/vm.h
  2. 1 1
      src/vm.cpp

+ 1 - 1
include/pocketpy/vm.h

@@ -172,7 +172,7 @@ public:
 
     template<typename ...Args>
     PyObject* _exec(Args&&... args){
-        callstack.emplace(&s_data, s_data._sp, std::forward<Args>(args)...);
+        callstack.emplace(Frame(&s_data, s_data._sp, std::forward<Args>(args)...));
         return _run_top_frame();
     }
 

+ 1 - 1
src/vm.cpp

@@ -941,7 +941,7 @@ PyObject* VM::vectorcall(int ARGC, int KWARGC, bool op_call){
         for(int j=0; j<co_nlocals; j++) _base[j] = buffer[j];
 
 __FAST_CALL:
-        callstack.emplace(&s_data, p0, co, fn._module, callable, FastLocals(co, args.begin()));
+        callstack.emplace(Frame(&s_data, p0, co, fn._module, callable, FastLocals(co, args.begin())));
         if(op_call) return PY_OP_CALL;
         return _run_top_frame();
         /*****************_py_call*****************/