aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4script.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-10-20 17:19:25 +0200
committerLars Knoll <lars.knoll@qt.io>2017-11-07 09:00:48 +0000
commite72306a6f2aeb2bddbb462c205db8fad2fb5a1a4 (patch)
tree3b83e1cead58d97c2b055283487500472ca7d698 /src/qml/jsruntime/qv4script.cpp
parentbc5ff76e5afe6356bebb344c9a5d8b304e852f3c (diff)
Further cleanup JSCallData
Avoid allocations on the JS stack if possible Change-Id: I344cd6dceb6264314f9d22c94db22b22d1d24d14 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4script.cpp')
-rw-r--r--src/qml/jsruntime/qv4script.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp
index 8ca4985b32..c3b19ac77c 100644
--- a/src/qml/jsruntime/qv4script.cpp
+++ b/src/qml/jsruntime/qv4script.cpp
@@ -154,14 +154,15 @@ ReturnedValue Script::run()
QV4::JSCallData jsCall(valueScope);
jsCall->thisObject = engine->globalObject;
- jsCall->context = *context;
- return vmFunction->call(jsCall.callData());
+ QV4::CallData *cData = jsCall.callData();
+ cData->context = *context;
+ return vmFunction->call(cData);
} else {
Scoped<QmlContext> qml(valueScope, qmlContext.value());
JSCallData jsCall(valueScope);
- jsCall->thisObject = Primitive::undefinedValue();
- jsCall->context = *qml;
- return vmFunction->call(jsCall.callData());
+ QV4::CallData *cData = jsCall.callData();
+ cData->context = *qml;
+ return vmFunction->call(cData);
}
}