diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-11-24 15:38:41 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-12-11 15:52:13 +0100 |
commit | 8afc1f7fe24c625cdb84406cc7665f1dcabf88c4 (patch) | |
tree | 04c5d73167544182e509ce7e40bd18c29909d0a7 /src/qml/jsruntime/qv4internalclass_p.h | |
parent | 4322c8d7686c7cbbdf348146d32d705007b21d56 (diff) |
Move prototype back from the vtable into Object
This is the only way we can support a GC that moves
objects around in memory.
Change-Id: I1d168fae4aa9f575b730e469e762bc5b5549b886
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4internalclass_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4internalclass_p.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4internalclass_p.h b/src/qml/jsruntime/qv4internalclass_p.h index 14dbbe713f..4367f6576d 100644 --- a/src/qml/jsruntime/qv4internalclass_p.h +++ b/src/qml/jsruntime/qv4internalclass_p.h @@ -191,14 +191,12 @@ struct InternalClassTransition { union { Identifier *id; - Object *prototype; const ManagedVTable *vtable; }; int flags; enum { // range 0-0xff is reserved for attribute changes - ProtoChange = 0x100, - VTableChange = 0x200 + VTableChange = 0x100 }; bool operator==(const InternalClassTransition &other) const @@ -208,7 +206,6 @@ uint qHash(const QV4::InternalClassTransition &t, uint = 0); struct InternalClass : public QQmlJS::Managed { ExecutionEngine *engine; - Object *prototype; const ManagedVTable *vtable; PropertyHash propertyTable; // id to valueIndex @@ -223,8 +220,7 @@ struct InternalClass : public QQmlJS::Managed { uint size; - static InternalClass *create(ExecutionEngine *engine, const ManagedVTable *vtable, Object *proto); - InternalClass *changePrototype(Object *proto); + static InternalClass *create(ExecutionEngine *engine, const ManagedVTable *vtable); InternalClass *changeVTable(const ManagedVTable *vt); static void addMember(Object *object, String *string, PropertyAttributes data, uint *index); InternalClass *addMember(String *string, PropertyAttributes data, uint *index = 0); |