aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4memberdata_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-01-27 09:57:00 +0100
committerLars Knoll <lars.knoll@qt.io>2017-03-09 08:58:15 +0000
commit10c1e4053366085080a39ea84ebbd189c8d827ec (patch)
tree65af97d1897f113647e5463c9bdf9b3dfce94f1b /src/qml/jsruntime/qv4memberdata_p.h
parent58b882ad42f99e03ac8dca13ff9c0d39fcafbaa0 (diff)
Unify mark handling for MemberData and ArrayData
Introduce a ValueArray class, that defines an array of Values at the end of a Heap Object. Change-Id: I00efbf6f5839a6687dd5bc5fc037ec8f06e0936e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata_p.h')
-rw-r--r--src/qml/jsruntime/qv4memberdata_p.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4memberdata_p.h b/src/qml/jsruntime/qv4memberdata_p.h
index c4e797ff8d..a531d3303f 100644
--- a/src/qml/jsruntime/qv4memberdata_p.h
+++ b/src/qml/jsruntime/qv4memberdata_p.h
@@ -60,8 +60,7 @@ namespace QV4 {
namespace Heap {
#define MemberDataMembers(class, Member) \
- Member(class, uint, size) \
- Member(class, ValueArray, data)
+ Member(class, ValueArray, values)
DECLARE_HEAP_OBJECT(MemberData, Base) {
DECLARE_MARK_TABLE(MemberData);
@@ -74,10 +73,10 @@ struct MemberData : Managed
{
V4_MANAGED(MemberData, Managed)
- 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; }
+ Value &operator[] (uint idx) { return d()->values[idx]; }
+ const Value *data() const { return d()->values.v; }
+ Value *data() { return d()->values.v; }
+ inline uint size() const { return d()->values.size; }
static Heap::MemberData *allocate(QV4::ExecutionEngine *e, uint n, Heap::MemberData *old = 0);
};