blueloveTH hace 3 años
padre
commit
985e5151ee
Se han modificado 2 ficheros con 5 adiciones y 0 borrados
  1. 3 0
      src/obj.h
  2. 2 0
      src/vm.h

+ 3 - 0
src/obj.h

@@ -174,4 +174,7 @@ T& py_cast(VM* vm, const PyVar& var) { UNREACHABLE(); }
 template<typename T>
 template<typename T>
 T& _py_cast(VM* vm, const PyVar& var) { UNREACHABLE(); }
 T& _py_cast(VM* vm, const PyVar& var) { UNREACHABLE(); }
 
 
+#define VAR(x) py_var(vm, x)
+
+
 }   // namespace pkpy
 }   // namespace pkpy

+ 2 - 0
src/vm.h

@@ -34,6 +34,7 @@ public:
 };
 };
 
 
 class VM {
 class VM {
+    VM* vm;     // self reference for simplify code
 public:
 public:
     std::stack< std::unique_ptr<Frame> > callstack;
     std::stack< std::unique_ptr<Frame> > callstack;
     PyVar _py_op_call;
     PyVar _py_op_call;
@@ -57,6 +58,7 @@ public:
     int recursionlimit = 1000;
     int recursionlimit = 1000;
 
 
     VM(bool use_stdio){
     VM(bool use_stdio){
+        this->vm = this;
         this->use_stdio = use_stdio;
         this->use_stdio = use_stdio;
         if(use_stdio){
         if(use_stdio){
             this->_stdout = &std::cout;
             this->_stdout = &std::cout;