aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4isel_p.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-08-09 16:45:02 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-12 13:29:27 +0200
commit7c2adbbb6cccefd202164049dc9144b4d13aec0a (patch)
tree7410500f53aac1b8fe2a46729db48732744ebf4b /src/qml/compiler/qv4isel_p.cpp
parent42dc821dd68cc63aa8300f2678639dbaacda1057 (diff)
Add reference counting to the VM functions
This reduces memory pressure, keep engine->functions small and thus makes back trace lookup faster. It became visible for example in the QtQuickControls auto-tests that use plenty of loaders and we ended up with 30k+ functions. Change-Id: Iaa5981f44e1e49ad9417a50c1e6a74946090dd28 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_p.cpp')
-rw-r--r--src/qml/compiler/qv4isel_p.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4isel_p.cpp b/src/qml/compiler/qv4isel_p.cpp
index 03c0ee750e..c864378844 100644
--- a/src/qml/compiler/qv4isel_p.cpp
+++ b/src/qml/compiler/qv4isel_p.cpp
@@ -90,7 +90,7 @@ QV4::Function *EvalInstructionSelection::createFunctionMapping(QV4::Function *ou
vmFunction->sourceFile = irFunction->sourceFile;
if (outer)
- outer->nestedFunctions.append(vmFunction);
+ outer->addNestedFunction(vmFunction);
foreach (const QString *formal, irFunction->formals)
if (formal)