diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-19 16:12:22 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-06-19 14:20:44 +0000 |
commit | d1693c14b4e7f7d4a8ab4b2e876d9cf43a621e2e (patch) | |
tree | 9ce0e6c8d75f2df6654a7dd03d2e7441ea9c1e85 /src/qml/jsruntime/qv4engine.cpp | |
parent | 27a6b122343322a02e0fe26fb76c05f6105c4b94 (diff) |
revert change 353164263c55825a0ec72d30128c50560c626334
The change was too aggressive in trying to avoid marking
the array data. We didn't catch all cases where on could be
inserting a GC controlled object into the array data. Let's
be safe and always mark the content of array data objects.
Task-number: QTBUG-68894
Change-Id: Ifbb628be898c0903596b1a483212384295b01df5
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 835933c043..0ed0df89a9 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -599,12 +599,6 @@ Heap::ArrayObject *ExecutionEngine::newArrayObject(const Value *values, int leng // this doesn't require a write barrier, things will be ok, when the new array data gets inserted into // the parent object memcpy(&d->values.values, values, length*sizeof(Value)); - for (int i = 0; i < length; ++i) { - if (values[i].isManaged()) { - d->needsMark = true; - break; - } - } a->d()->arrayData.set(this, d); a->setArrayLengthUnchecked(length); } |