diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-11-21 14:26:08 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-04 09:45:48 +0100 |
commit | 0f32303e5cc9c539aa8698cab2b8cc2e946d885a (patch) | |
tree | a5ae53a26653ed8d673ad49084830fab64109bb4 /src/qml/jsruntime/qv4functionobject_p.h | |
parent | fbcd0a22f643f0b0ec1404507d63bdf35cd9a195 (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.h | 3 |
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); |