diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-01-09 23:36:57 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2015-01-12 11:04:36 +0100 |
commit | b29a1aee35bc6e79beb028c92e5aab9bee0c18b3 (patch) | |
tree | fff5e8400fa797108f1835128c775bdab934bdb3 /src/qml/jsruntime/qv4internalclass_p.h | |
parent | 431458b685fa9f7355f50d21a09ee9f93bcb42d5 (diff) |
Move extensible into the internal class
With this, we can now save one pointer per Heap
object.
Change-Id: I7f69193ff51c9fd9c5dbfba90aa1ebb3f93da2e6
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 | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4internalclass_p.h b/src/qml/jsruntime/qv4internalclass_p.h index 5973ca2c7c..b92bee3fac 100644 --- a/src/qml/jsruntime/qv4internalclass_p.h +++ b/src/qml/jsruntime/qv4internalclass_p.h @@ -197,7 +197,8 @@ struct InternalClassTransition int flags; enum { // range 0-0xff is reserved for attribute changes - VTableChange = 0x100 + VTableChange = 0x100, + NotExtensible = 0x200 }; bool operator==(const InternalClassTransition &other) const @@ -223,9 +224,11 @@ struct InternalClass : public QQmlJS::Managed { InternalClass *m_frozen; uint size; + bool extensible; static InternalClass *create(ExecutionEngine *engine, const ManagedVTable *vtable); InternalClass *changeVTable(const ManagedVTable *vt); + InternalClass *nonExtensible(); static void addMember(Object *object, String *string, PropertyAttributes data, uint *index); InternalClass *addMember(String *string, PropertyAttributes data, uint *index = 0); InternalClass *addMember(Identifier *identifier, PropertyAttributes data, uint *index = 0); |