aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4memberdata_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-01 21:44:57 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-07 02:00:05 +0100
commitb340caa0d3ebf7f76c0445b2cdd4032d8e3bf8d5 (patch)
treee475eae0dc4a6c68ca3ee41132b573fc76d2dc10 /src/qml/jsruntime/qv4memberdata_p.h
parente22fc141c3fc5362f9b906c43a1b7c0dbc1f85a3 (diff)
Get rid of Members and directly store MemberData::Data pointers
And do the same change for ArrayData. Change-Id: Ia1ae56bd0ff586c9b987e15af7a53f395a37054a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata_p.h')
-rw-r--r--src/qml/jsruntime/qv4memberdata_p.h21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/qml/jsruntime/qv4memberdata_p.h b/src/qml/jsruntime/qv4memberdata_p.h
index cc7b10ff81..0177601b9f 100644
--- a/src/qml/jsruntime/qv4memberdata_p.h
+++ b/src/qml/jsruntime/qv4memberdata_p.h
@@ -53,24 +53,13 @@ struct MemberData : Managed
MemberData(QV4::InternalClass *ic) : Managed(ic) {}
Value &operator[] (uint idx) { return d()->data[idx]; }
+ const Value *data() const { return d()->data; }
+ Value *data() { return d()->data; }
+ inline uint size() const { return d()->size; }
- static void markObjects(HeapObject *that, ExecutionEngine *e);
-};
+ static MemberData::Data *reallocate(QV4::ExecutionEngine *e, MemberData::Data *old, uint idx);
-struct Members : Value
-{
- void reset() { m = 0; }
- void ensureIndex(QV4::ExecutionEngine *e, uint idx);
- Value &operator[] (uint idx) const { return static_cast<MemberData *>(managed())->d()->data[idx]; }
- inline uint size() const { return d() ? d()->d()->size : 0; }
- inline MemberData *d() const { return static_cast<MemberData *>(managed()); }
- Value *data() const { return static_cast<MemberData *>(managed())->d()->data; }
-
- void mark(ExecutionEngine *e) const {
- MemberData *m = d();
- if (m)
- m->mark(e);
- }
+ static void markObjects(HeapObject *that, ExecutionEngine *e);
};
}