diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-10-21 14:54:45 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-10-27 15:19:08 +0100 |
commit | 51d8f62dacc9b37a50e522162d5438a624ee9168 (patch) | |
tree | 623336ed8c4b2b0ce052be6d3ec6af3ab8f04736 /src/qml/jsruntime/qv4argumentsobject.cpp | |
parent | 125befb309f5eccd80cbffd815396d35c49c08f2 (diff) |
Rework our simple array implementation
Implement the simple array as a circular buffer instead
of an array with head room. This fixes a couple of severe
issues with performance and memory management if the array
is being used as a queue.
Task-number: QTBUG-41421
Change-Id: I146ad8a874407c108aa8fe1eae68e9957e154847
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index 9ac279bf87..d79521ca2f 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -78,7 +78,7 @@ void ArgumentsObject::fullyCreate() uint numAccessors = qMin((int)context()->d()->function->formalParameterCount(), context()->d()->realArgumentCount); uint argCount = qMin(context()->d()->realArgumentCount, context()->d()->callData->argc); - ArrayData::realloc(this, ArrayData::Sparse, 0, argCount, true); + ArrayData::realloc(this, ArrayData::Sparse, argCount, true); context()->d()->engine->requireArgumentsAccessors(numAccessors); mappedArguments().ensureIndex(engine(), numAccessors); for (uint i = 0; i < (uint)numAccessors; ++i) { |