diff options
Diffstat (limited to 'src/qml/jsruntime/qv4arraydata_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4arraydata_p.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/qml/jsruntime/qv4arraydata_p.h b/src/qml/jsruntime/qv4arraydata_p.h index f82b45c14c..9d9e5705d6 100644 --- a/src/qml/jsruntime/qv4arraydata_p.h +++ b/src/qml/jsruntime/qv4arraydata_p.h @@ -55,7 +55,8 @@ struct ArrayData; struct ArrayVTable { uint type; - void (*freeData)(ArrayData *d); + void (*destroy)(ArrayData *d); + void (*markObjects)(ArrayData *, ExecutionEngine *e); void (*reserve)(ArrayData *d, uint n); ReturnedValue (*get)(const ArrayData *d, uint index); bool (*put)(ArrayData *d, uint index, ValueRef value); @@ -126,8 +127,12 @@ struct Q_QML_EXPORT ArrayData } - inline void free() { - vtable->freeData(this); + inline void destroy() { + vtable->destroy(this); + } + + inline void markObjects(ExecutionEngine *e) { + vtable->markObjects(this, e); } inline void push_front(SafeValue *values, uint nValues) { @@ -164,8 +169,6 @@ struct Q_QML_EXPORT ArrayData static void sort(ExecutionContext *context, ObjectRef thisObject, const ValueRef comparefn, uint dataLen); static uint append(Object *obj, const ArrayObject *otherObj, uint n); static Property *insert(Object *o, uint index, bool isAccessor = false); - void markObjects(ExecutionEngine *e); - }; struct Q_QML_EXPORT SimpleArrayData : public ArrayData @@ -182,7 +185,9 @@ struct Q_QML_EXPORT SimpleArrayData : public ArrayData static void getHeadRoom(ArrayData *d); static void reserve(ArrayData *d, uint n); - static void freeData(ArrayData *d); + static void destroy(ArrayData *d); + static void markObjects(ArrayData *d, ExecutionEngine *e); + static ReturnedValue get(const ArrayData *d, uint index); static bool put(ArrayData *d, uint index, ValueRef value); static bool putArray(ArrayData *d, uint index, SafeValue *values, uint n); @@ -211,7 +216,9 @@ struct Q_QML_EXPORT SparseArrayData : public ArrayData static uint allocate(ArrayData *d, bool doubleSlot = false); static void free(ArrayData *d, uint idx); - static void freeData(ArrayData *d); + static void destroy(ArrayData *d); + static void markObjects(ArrayData *d, ExecutionEngine *e); + static void reserve(ArrayData *d, uint n); static ReturnedValue get(const ArrayData *d, uint index); static bool put(ArrayData *d, uint index, ValueRef value); |