aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4functionobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-11-21 14:26:08 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-04 09:45:48 +0100
commit0f32303e5cc9c539aa8698cab2b8cc2e946d885a (patch)
treea5ae53a26653ed8d673ad49084830fab64109bb4 /src/qml/jsruntime/qv4functionobject_p.h
parentfbcd0a22f643f0b0ec1404507d63bdf35cd9a195 (diff)
Remove setVTable calls in performance critical areas
Remove all the calls to setVTable that were in performance critical parts of the code. This now brings performance back to the level we had with the vtable inlined in the Managed objects. Change-Id: I76317cc5c53b5b700d1d3883b954407142a4c424 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4functionobject_p.h')
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 2e1f1d1180..e0ee720033 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -113,6 +113,8 @@ struct Q_QML_EXPORT FunctionObject: Object {
Function *function;
InternalClass *protoCacheClass;
uint protoCacheIndex;
+ ReturnedValue protoValue;
+ InternalClass *classForConstructor;
FunctionObject(ExecutionContext *scope, const StringRef name, bool createProto = false);
FunctionObject(ExecutionContext *scope, const QString &name = QString(), bool createProto = false);
@@ -138,6 +140,7 @@ struct Q_QML_EXPORT FunctionObject: Object {
static FunctionObject *creatScriptFunction(ExecutionContext *scope, Function *function);
ReturnedValue protoProperty();
+ InternalClass *internalClassForConstructor();
protected:
FunctionObject(InternalClass *ic);