diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-04-10 18:25:45 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-22 13:48:59 +0200 |
commit | 9c6eb820939034b55f86d2fc7e67a4dfaedfc543 (patch) | |
tree | 28217740f678fcacde7c5b5d42291e66df7330f2 /src/qml/jsruntime/qv4object_p.h | |
parent | 43df154aa1d3347d81d8c6eba09871da318c417e (diff) |
First step unifying data structures
Make Object::Data inherit from Managed::Data. To keep this
working in the current allocation scheme, we need a dummy
ObjectData in Object for now.
Change-Id: I39036c0bf0431f1c2cf32dadc17a3742ff8d6831
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4object_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4object_p.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h index 1910737973..775b15f09b 100644 --- a/src/qml/jsruntime/qv4object_p.h +++ b/src/qml/jsruntime/qv4object_p.h @@ -103,26 +103,26 @@ struct URIErrorPrototype; struct Q_QML_EXPORT Object: Managed { - V4_OBJECT - Q_MANAGED_TYPE(Object) - enum { - IsObject = true - }; - - struct Data { + struct Data : Managed::Data { Members memberData; ArrayData *arrayData; }; - Data data; + struct { + Members memberData; + ArrayData *arrayData; + } __data; + V4_OBJECT_NEW + Q_MANAGED_TYPE(Object) - const Data *objectData() const { return &data; } - Data *objectData() { return &data; } + enum { + IsObject = true + }; - Members &memberData() { return objectData()->memberData; } - Members memberData() const { return objectData()->memberData; } - const ArrayData *arrayData() const { return objectData()->arrayData; } - ArrayData *arrayData() { return objectData()->arrayData; } - void setArrayData(ArrayData *a) { objectData()->arrayData = a; } + Members &memberData() { return d()->memberData; } + Members memberData() const { return d()->memberData; } + const ArrayData *arrayData() const { return d()->arrayData; } + ArrayData *arrayData() { return d()->arrayData; } + void setArrayData(ArrayData *a) { d()->arrayData = a; } Property *propertyAt(uint index) const { return reinterpret_cast<Property *>(memberData().data() + index); } |