blueloveTH 1 年之前
父節點
當前提交
9a085d1767
共有 2 個文件被更改,包括 10 次插入10 次删除
  1. 5 5
      include/pocketpy/frame.h
  2. 5 5
      src/ceval.cpp

+ 5 - 5
include/pocketpy/frame.h

@@ -69,7 +69,7 @@ struct ValueStack {
 };
 
 struct Frame {
-    const Bytecode* _ip_addr;
+    const Bytecode* _ip;
     // This is for unwinding only, use `actual_sp_base()` for value stack access
     PyVar* _sp_base;
 
@@ -80,19 +80,19 @@ struct Frame {
 
     NameDict& f_globals() { return _module->attr(); }
     PyVar f_closure_try_get(StrName name);
-    int ip() const { return _ip_addr - co->codes.data(); }
+    int ip() const { return _ip - co->codes.data(); }
 
     // function scope
     Frame(PyVar* p0, const CodeObject* co, PyVar _module, PyVar _callable, PyVar* _locals_base)
-            : _ip_addr(co->codes.data()-1), _sp_base(p0), co(co), _module(_module), _callable(_callable), _locals(co, _locals_base) { }
+            : _ip(co->codes.data()-1), _sp_base(p0), co(co), _module(_module), _callable(_callable), _locals(co, _locals_base) { }
 
     // exec/eval
     Frame(PyVar* p0, const CodeObject* co, PyVar _module, PyVar _callable, FastLocals _locals)
-            : _ip_addr(co->codes.data()-1), _sp_base(p0), co(co), _module(_module), _callable(_callable), _locals(_locals) { }
+            : _ip(co->codes.data()-1), _sp_base(p0), co(co), _module(_module), _callable(_callable), _locals(_locals) { }
 
     // global scope
     Frame(PyVar* p0, const CodeObject_& co, PyVar _module)
-            : _ip_addr(co->codes.data()-1), _sp_base(p0), co(co.get()), _module(_module), _callable(nullptr), _locals(co.get(), p0) {}
+            : _ip(co->codes.data()-1), _sp_base(p0), co(co.get()), _module(_module), _callable(nullptr), _locals(co.get(), p0) {}
 
     PyVar* actual_sp_base() const { return _locals.a; }
 

+ 5 - 5
src/ceval.cpp

@@ -94,8 +94,8 @@ bool VM::py_ge(PyVar _0, PyVar _1){
     }
 #endif
 
-#define DISPATCH() { frame->_ip_addr++; goto __NEXT_STEP; }
-#define DISPATCH_JUMP(__target) { frame->_ip_addr = co_codes+__target; goto __NEXT_STEP; }
+#define DISPATCH() { frame->_ip++; goto __NEXT_STEP; }
+#define DISPATCH_JUMP(__target) { frame->_ip=co_codes+__target; goto __NEXT_STEP; }
 
 PyVar VM::__run_top_frame(){
     Frame* frame = &callstack.top();
@@ -113,10 +113,10 @@ __NEXT_FRAME:
 
     if(__internal_exception.type == InternalExceptionType::Null){
         // None
-        frame->_ip_addr++;
+        frame->_ip++;
     }else if(__internal_exception.type == InternalExceptionType::Handled){
         // HandledException + continue
-        frame->_ip_addr = co_codes + __internal_exception.arg;
+        frame->_ip = co_codes + __internal_exception.arg;
         __internal_exception = {};
     }else{
         // UnhandledException + continue (need_raise = true)
@@ -126,7 +126,7 @@ __NEXT_FRAME:
     }
 
 __NEXT_STEP:
-    byte = *frame->_ip_addr;
+    byte = *frame->_ip;
     CEVAL_STEP_CALLBACK()
 
 #if PK_DEBUG_CEVAL_STEP