diff options
author | Lars Knoll <[email protected]> | 2014-01-24 13:16:55 +0100 |
---|---|---|
committer | The Qt Project <[email protected]> | 2014-01-31 11:13:48 +0100 |
commit | 426b5647b6ac584cfa0a45ab932d4a4dfbcbadc4 (patch) | |
tree | 32ec22afc7ee39b6f9a3f4dd47a45c472f7d77e4 /src/qml/compiler/qv4isel_masm_p.h | |
parent | e3219a1f7143c52fad7f5c5266327e199d02c6d6 (diff) |
Implement Lookup::indexedSetter
use this instead of the generic runtime method. This gives
around 10% speedup for array heavy Javascript such
as crypto.js.
Change-Id: Ic8f478c5b18893f2ef49e3f658b1ef24ae22e64f
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/compiler/qv4isel_masm_p.h')
-rw-r--r-- | src/qml/compiler/qv4isel_masm_p.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/qml/compiler/qv4isel_masm_p.h b/src/qml/compiler/qv4isel_masm_p.h index a146220015..f22e0930e3 100644 --- a/src/qml/compiler/qv4isel_masm_p.h +++ b/src/qml/compiler/qv4isel_masm_p.h @@ -1580,8 +1580,8 @@ private: int prepareVariableArguments(V4IR::ExprList* args); int prepareCallData(V4IR::ExprList* args, V4IR::Expr *thisObject); - template <typename Retval, typename Arg1, typename Arg2> - void generateLookupCall(Retval retval, uint index, uint getterSetterOffset, Arg1 arg1, Arg2 arg2) + template <typename Retval, typename Arg1, typename Arg2, typename Arg3> + void generateLookupCall(Retval retval, uint index, uint getterSetterOffset, Arg1 arg1, Arg2 arg2, Arg3 arg3) { Assembler::RegisterID lookupRegister; #if CPU(ARM) @@ -1595,13 +1595,13 @@ private: getterSetter.offset += getterSetterOffset; _as->generateFunctionCallImp(retval, "lookup getter/setter", - RelativeCall(getterSetter), lookupAddr, arg1, arg2); + RelativeCall(getterSetter), lookupAddr, arg1, arg2, arg3); } - template <typename Arg1> - void generateLookupCall(uint index, uint getterSetterOffset, Arg1 arg1) + template <typename Retval, typename Arg1, typename Arg2> + void generateLookupCall(Retval retval, uint index, uint getterSetterOffset, Arg1 arg1, Arg2 arg2) { - generateLookupCall(index, getterSetterOffset, arg1, Assembler::VoidType()); + generateLookupCall(retval, index, getterSetterOffset, arg1, arg2, Assembler::VoidType()); } /// This is a temporary method, and will be removed when registers are fully supported. |