aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4function_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-08-10 08:51:09 +0200
committerLars Knoll <lars.knoll@qt.io>2017-08-10 10:42:13 +0000
commit1109b9df83b78fa8703c063f117b365a21fdccb1 (patch)
tree178c772640d82aec920389e97f6360b9a9206f58 /src/qml/jsruntime/qv4function_p.h
parent13f603aba593282493ef8d033a91c6dbac931a9f (diff)
Remove one more layer of function calls when entering JS functions
Change-Id: I7d8b2e16d2eacf5e0eafb8b8574de51527fd0ac2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4function_p.h')
-rw-r--r--src/qml/jsruntime/qv4function_p.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4function_p.h b/src/qml/jsruntime/qv4function_p.h
index 750db8c496..1cfd15bbce 100644
--- a/src/qml/jsruntime/qv4function_p.h
+++ b/src/qml/jsruntime/qv4function_p.h
@@ -104,7 +104,13 @@ struct Q_QML_EXPORT Function {
}
private:
- static ReturnedValue call(const FunctionObject *f, CallData *callData, Heap::ExecutionContext *context, Function *function);
+ static ReturnedValue call(const FunctionObject *f, CallData *callData, Heap::ExecutionContext *context, Function *function)
+ {
+ if (!function->canUseSimpleCall)
+ context = ExecutionContext::newCallContext(context, function, callData, f);
+
+ return function->execute(context, callData, f);
+ }
};