diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-10-20 17:19:25 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-11-07 09:00:48 +0000 |
commit | e72306a6f2aeb2bddbb462c205db8fad2fb5a1a4 (patch) | |
tree | 3b83e1cead58d97c2b055283487500472ca7d698 /src/qml/jsruntime/qv4script.cpp | |
parent | bc5ff76e5afe6356bebb344c9a5d8b304e852f3c (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.cpp | 11 |
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); } } |