From 544ea314b6a3be4c7d766b737ee9dddf21cdee08 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 17 Nov 2014 11:45:24 +0100 Subject: Move the indexing methods from SimpleArrayData to Heap::SimpleArrayData Change-Id: I7d126999fb813bd9c0f224f7229d66854079f793 Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4arraydata_p.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/qml/jsruntime/qv4arraydata_p.h') diff --git a/src/qml/jsruntime/qv4arraydata_p.h b/src/qml/jsruntime/qv4arraydata_p.h index 1b0589ed95..606a34effd 100644 --- a/src/qml/jsruntime/qv4arraydata_p.h +++ b/src/qml/jsruntime/qv4arraydata_p.h @@ -102,6 +102,10 @@ struct SimpleArrayData : public ArrayData { SimpleArrayData(ExecutionEngine *engine) : ArrayData(engine->simpleArrayDataClass) {} + + uint mappedIndex(uint index) const { return (index + offset) % alloc; } + Value data(uint index) const { return arrayData[mappedIndex(index)]; } + Value &data(uint index) { return arrayData[mappedIndex(index)]; } }; struct SparseArrayData : public ArrayData { @@ -162,9 +166,9 @@ struct Q_QML_EXPORT SimpleArrayData : public ArrayData { V4_ARRAYDATA(SimpleArrayData) - uint mappedIndex(uint index) const { return (index + d()->offset) % d()->alloc; } - Value data(uint index) const { return d()->arrayData[mappedIndex(index)]; } - Value &data(uint index) { return d()->arrayData[mappedIndex(index)]; } + uint mappedIndex(uint index) const { return d()->mappedIndex(index); } + Value data(uint index) const { return d()->data(index); } + Value &data(uint index) { return d()->data(index); } Property *getProperty(uint index) { if (index >= len()) -- cgit v1.2.3