blueloveTH 2 лет назад
Родитель
Сommit
5dbd198c32
3 измененных файлов с 15 добавлено и 12 удалено
  1. 1 1
      src/ceval.h
  2. 13 11
      src/config.h
  3. 1 0
      src/vm.h

+ 1 - 1
src/ceval.h

@@ -36,7 +36,7 @@ inline PyObject* VM::_run_top_frame(){
 {
 {
 
 
 #if PK_ENABLE_CEVAL_CALLBACK
 #if PK_ENABLE_CEVAL_CALLBACK
-#define CEVAL_STEP() byte = frame->next_bytecode(); if(_ceval_on_step) _ceval_on_step(this, frame, byte)
+#define CEVAL_STEP() byte = frame->next_bytecode(); if(_ceval_on_step) _ceval_on_step(this, frame.get(), byte)
 #else
 #else
 #define CEVAL_STEP() byte = frame->next_bytecode()
 #define CEVAL_STEP() byte = frame->next_bytecode()
 #endif
 #endif

+ 13 - 11
src/config.h

@@ -50,17 +50,19 @@
 // (not recommended to change this)
 // (not recommended to change this)
 #define PK_MAX_CO_VARNAMES          255
 #define PK_MAX_CO_VARNAMES          255
 
 
-// Hash table load factor (smaller ones mean less collision but more memory)
-// For class instance
-inline const float kInstAttrLoadFactor = 0.67f;
-// For class itself
-inline const float kTypeAttrLoadFactor = 0.5f;
-
-#ifdef _WIN32
-    inline const char kPlatformSep = '\\';
-#else
-    inline const char kPlatformSep = '/';
-#endif
+namespace pkpy{
+    // Hash table load factor (smaller ones mean less collision but more memory)
+    // For class instance
+    inline const float kInstAttrLoadFactor = 0.67f;
+    // For class itself
+    inline const float kTypeAttrLoadFactor = 0.5f;
+
+    #ifdef _WIN32
+        inline const char kPlatformSep = '\\';
+    #else
+        inline const char kPlatformSep = '/';
+    #endif
+}
 
 
 #ifdef _MSC_VER
 #ifdef _MSC_VER
 #pragma warning (disable:4267)
 #pragma warning (disable:4267)

+ 1 - 0
src/vm.h

@@ -98,6 +98,7 @@ struct FrameId{
     int index;
     int index;
     FrameId(std::vector<pkpy::Frame>* data, int index) : data(data), index(index) {}
     FrameId(std::vector<pkpy::Frame>* data, int index) : data(data), index(index) {}
     Frame* operator->() const { return &data->operator[](index); }
     Frame* operator->() const { return &data->operator[](index); }
+    Frame* get() const { return &data->operator[](index); }
 };
 };
 
 
 typedef void(*PrintFunc)(VM*, const Str&);
 typedef void(*PrintFunc)(VM*, const Str&);