This commit is contained in:
blueloveTH 2022-12-07 20:28:49 +08:00
parent a7751461c9
commit df91490d6a
3 changed files with 2 additions and 8 deletions

View File

@ -85,8 +85,7 @@ template <typename T>
struct Py_ : PyObject { struct Py_ : PyObject {
T _valueT; T _valueT;
Py_(T val, const PyVar& type) { Py_(T val, const PyVar& type) : _valueT(val) {
_valueT = val;
_value = &_valueT; _value = &_valueT;
_type = type; _type = type;
} }

View File

@ -21,7 +21,6 @@ struct NamePointer : BasePointer {
_Str name; _Str name;
NameScope scope; NameScope scope;
NamePointer(_Str name, NameScope scope) : name(name), scope(scope) {} NamePointer(_Str name, NameScope scope) : name(name), scope(scope) {}
NamePointer(){}
bool operator==(const NamePointer& other) const { bool operator==(const NamePointer& other) const {
return name == other.name && scope == other.scope; return name == other.name && scope == other.scope;
@ -36,7 +35,6 @@ struct AttrPointer : BasePointer {
mutable PyVar obj; mutable PyVar obj;
const NamePointer* attr; const NamePointer* attr;
AttrPointer(PyVar obj, const NamePointer* attr) : obj(obj), attr(attr) {} AttrPointer(PyVar obj, const NamePointer* attr) : obj(obj), attr(attr) {}
AttrPointer(){}
PyVar get(VM* vm, Frame* frame) const; PyVar get(VM* vm, Frame* frame) const;
void set(VM* vm, Frame* frame, PyVar val) const; void set(VM* vm, Frame* frame, PyVar val) const;
@ -47,7 +45,6 @@ struct IndexPointer : BasePointer {
mutable PyVar obj; mutable PyVar obj;
PyVar index; PyVar index;
IndexPointer(PyVar obj, PyVar index) : obj(obj), index(index) {} IndexPointer(PyVar obj, PyVar index) : obj(obj), index(index) {}
IndexPointer(){}
PyVar get(VM* vm, Frame* frame) const; PyVar get(VM* vm, Frame* frame) const;
void set(VM* vm, Frame* frame, PyVar val) const; void set(VM* vm, Frame* frame, PyVar val) const;
@ -58,7 +55,6 @@ struct CompoundPointer : BasePointer {
PyVarList varRefs; PyVarList varRefs;
CompoundPointer(const PyVarList& varRefs) : varRefs(varRefs) {} CompoundPointer(const PyVarList& varRefs) : varRefs(varRefs) {}
CompoundPointer(PyVarList&& varRefs) : varRefs(std::move(varRefs)) {} CompoundPointer(PyVarList&& varRefs) : varRefs(std::move(varRefs)) {}
CompoundPointer(){}
PyVar get(VM* vm, Frame* frame) const; PyVar get(VM* vm, Frame* frame) const;
void set(VM* vm, Frame* frame, PyVar val) const; void set(VM* vm, Frame* frame, PyVar val) const;
@ -69,7 +65,6 @@ struct UserPointer : BasePointer {
VarRef p; VarRef p;
uint64_t f_id; uint64_t f_id;
UserPointer(VarRef p, uint64_t f_id) : p(p), f_id(f_id) {} UserPointer(VarRef p, uint64_t f_id) : p(p), f_id(f_id) {}
UserPointer() {}
PyVar get(VM* vm, Frame* frame) const; PyVar get(VM* vm, Frame* frame) const;
void set(VM* vm, Frame* frame, PyVar val) const; void set(VM* vm, Frame* frame, PyVar val) const;

View File

@ -54,7 +54,7 @@ protected:
frame->push(obj); frame->push(obj);
} break; } break;
case OP_LOAD_NAME_PTR: { case OP_LOAD_NAME_PTR: {
frame->push(PyPointer(NamePointer(frame->code->co_names[byte.arg]))); frame->push(PyPointer(frame->code->co_names[byte.arg]));
} break; } break;
case OP_STORE_NAME_PTR: { case OP_STORE_NAME_PTR: {
const auto& p = frame->code->co_names[byte.arg]; const auto& p = frame->code->co_names[byte.arg];