mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
some optimize
This commit is contained in:
parent
237fd57b66
commit
16d595b6b4
@ -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>
|
||||
|
@ -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
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user