blueloveTH пре 1 година
родитељ
комит
16d595b6b4
3 измењених фајлова са 1 додато и 36 уклоњено
  1. 0 7
      include/pocketpy/codeobject.h
  2. 0 18
      include/pocketpy/obj.h
  3. 1 11
      src/ceval.cpp

+ 0 - 7
include/pocketpy/codeobject.h

@@ -196,10 +196,6 @@ struct Py_<Function> final: PyObject {
         _value.decl->_gc_mark();
         if(_value._closure != nullptr) gc_mark_namedict(*_value._closure);
     }
-
-    void* _value_ptr() override {
-        return &_value;
-    }
 };
 
 template<>
@@ -214,9 +210,6 @@ struct Py_<NativeFunc> final: PyObject {
             _value.decl->_gc_mark();
         }
     }
-    void* _value_ptr() override {
-        return &_value;
-    }
 };
 
 template<typename T>

+ 0 - 18
include/pocketpy/obj.h

@@ -104,7 +104,6 @@ struct PyObject{
     PyObject* attr(StrName name) const { return (*_attr)[name]; }
 
     virtual void _obj_gc_mark() = 0;
-    virtual void* _value_ptr() = 0;
 
     PyObject(Type type) : gc_enabled(true), gc_marked(false), type(type), _attr(nullptr) {}
 
@@ -128,7 +127,6 @@ struct PySignalObject: PyObject {
         gc_enabled = false;
     }
     void _obj_gc_mark() override {}
-    void* _value_ptr() override { return nullptr; }
 };
 
 inline PyObject* const PY_NULL = new PySignalObject();
@@ -170,8 +168,6 @@ struct Py_ final: PyObject {
         }
     }
 
-    void* _value_ptr() override { return &_value; }
-    
     template <typename... Args>
     Py_(Type type, Args&&... args) : PyObject(type), _value(std::forward<Args>(args)...) { }
 };
@@ -215,7 +211,6 @@ struct Py_<i64> final: PyObject {
     i64 _value;
     Py_(Type type, i64 val): PyObject(type), _value(val) {}
     void _obj_gc_mark() override {}
-    void* _value_ptr() override { return &_value; }
 };
 
 inline bool try_cast_int(PyObject* obj, i64* val) noexcept {
@@ -239,7 +234,6 @@ struct Py_<List> final: PyObject {
     void _obj_gc_mark() override {
         for(PyObject* obj: _value) PK_OBJ_MARK(obj);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -251,7 +245,6 @@ struct Py_<Tuple> final: PyObject {
     void _obj_gc_mark() override {
         for(PyObject* obj: _value) PK_OBJ_MARK(obj);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -261,7 +254,6 @@ struct Py_<MappingProxy> final: PyObject {
     void _obj_gc_mark() override {
         PK_OBJ_MARK(_value.obj);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -272,7 +264,6 @@ struct Py_<BoundMethod> final: PyObject {
         PK_OBJ_MARK(_value.self);
         PK_OBJ_MARK(_value.func);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -282,7 +273,6 @@ struct Py_<StarWrapper> final: PyObject {
     void _obj_gc_mark() override {
         PK_OBJ_MARK(_value.obj);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -292,7 +282,6 @@ struct Py_<StaticMethod> final: PyObject {
     void _obj_gc_mark() override {
         PK_OBJ_MARK(_value.func);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -302,7 +291,6 @@ struct Py_<ClassMethod> final: PyObject {
     void _obj_gc_mark() override {
         PK_OBJ_MARK(_value.func);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -313,7 +301,6 @@ struct Py_<Property> final: PyObject {
         PK_OBJ_MARK(_value.getter);
         PK_OBJ_MARK(_value.setter);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -325,7 +312,6 @@ struct Py_<Slice> final: PyObject {
         PK_OBJ_MARK(_value.stop);
         PK_OBJ_MARK(_value.step);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -336,7 +322,6 @@ struct Py_<Super> final: PyObject {
     void _obj_gc_mark() override {
         PK_OBJ_MARK(_value.first);
     }
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -345,7 +330,6 @@ struct Py_<DummyInstance> final: PyObject {
         _enable_instance_dict();
     }
     void _obj_gc_mark() override {}
-    void* _value_ptr() override { return nullptr; }
 };
 
 template<>
@@ -355,7 +339,6 @@ struct Py_<Type> final: PyObject {
         _enable_instance_dict(PK_TYPE_ATTR_LOAD_FACTOR);
     }
     void _obj_gc_mark() override {}
-    void* _value_ptr() override { return &_value; }
 };
 
 template<>
@@ -364,7 +347,6 @@ struct Py_<DummyModule> final: PyObject {
         _enable_instance_dict(PK_TYPE_ATTR_LOAD_FACTOR);
     }
     void _obj_gc_mark() override {}
-    void* _value_ptr() override { return nullptr; }
 };
 
 }   // namespace pkpy

+ 1 - 11
src/ceval.cpp

@@ -93,7 +93,7 @@ __NEXT_STEP:;
 #if PK_DEBUG_CEVAL_STEP
     _log_s_data();
 #endif
-    switch (byte.op)
+    switch ((Opcode)byte.op)
     {
     TARGET(NO_OP) DISPATCH();
     /*****************************************/
@@ -909,16 +909,6 @@ __NEXT_STEP:;
         *p = VAR(CAST(i64, *p) - 1);
     } DISPATCH();
     /*****************************************/
-        static_assert(OP_DEC_GLOBAL == 136);
-        case 137: case 138: case 139: case 140: case 141: case 142: case 143: case 144: case 145: case 146: case 147: case 148: case 149:
-        case 150: case 151: case 152: case 153: case 154: case 155: case 156: case 157: case 158: case 159: case 160: case 161: case 162: case 163: case 164:
-        case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: case 174: case 175: case 176: case 177: case 178: case 179:
-        case 180: case 181: case 182: case 183: case 184: case 185: case 186: case 187: case 188: case 189: case 190: case 191: case 192: case 193: case 194:
-        case 195: case 196: case 197: case 198: case 199: case 200: case 201: case 202: case 203: case 204: case 205: case 206: case 207: case 208: case 209:
-        case 210: case 211: case 212: case 213: case 214: case 215: case 216: case 217: case 218: case 219: case 220: case 221: case 222: case 223: case 224:
-        case 225: case 226: case 227: case 228: case 229: case 230: case 231: case 232: case 233: case 234: case 235: case 236: case 237: case 238: case 239:
-        case 240: case 241: case 242: case 243: case 244: case 245: case 246: case 247: case 248: case 249: case 250: case 251: case 252: case 253: case 254:
-        case 255: break;
     }
 
 }