aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4isel_masm_p.h
diff options
context:
space:
mode:
authorLars Knoll <[email protected]>2014-01-24 13:16:55 +0100
committerThe Qt Project <[email protected]>2014-01-31 11:13:48 +0100
commit426b5647b6ac584cfa0a45ab932d4a4dfbcbadc4 (patch)
tree32ec22afc7ee39b6f9a3f4dd47a45c472f7d77e4 /src/qml/compiler/qv4isel_masm_p.h
parente3219a1f7143c52fad7f5c5266327e199d02c6d6 (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.h12
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.