aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2018-11-05 16:46:29 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2018-11-06 10:40:28 +0000
commit53440d6844a712e6675e084ada8a196ed6555aa1 (patch)
treeec6404dac67eb01190e98ab8cc2662d2abd9005c /src/qml/jit
parent00b1ff4607a560a2df674d56a70ecf3bd3e4f3df (diff)
V4: Fix 32bit moveReg to not use the return value registers
As with the 64bit implementation: use the scratch register. The return value register is used to hold the newly allocated space on the JS stack. Fixes: QTBUG-71319 Change-Id: Ia924ad24ff7f4fbf5ec21b6e6237cce7d907bf3e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/jit')
-rw-r--r--src/qml/jit/qv4baselineassembler.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jit/qv4baselineassembler.cpp b/src/qml/jit/qv4baselineassembler.cpp
index f6b745632b..c62d6e5388 100644
--- a/src/qml/jit/qv4baselineassembler.cpp
+++ b/src/qml/jit/qv4baselineassembler.cpp
@@ -444,12 +444,12 @@ public:
void moveReg(Address sourceRegAddress, Address destRegAddress)
{
- load32(sourceRegAddress, ReturnValueRegisterValue);
+ load32(sourceRegAddress, ScratchRegister);
+ store32(ScratchRegister, destRegAddress);
sourceRegAddress.offset += 4;
- load32(sourceRegAddress, ReturnValueRegisterTag);
- store32(ReturnValueRegisterValue, destRegAddress);
destRegAddress.offset += 4;
- store32(ReturnValueRegisterTag, destRegAddress);
+ load32(sourceRegAddress, ScratchRegister);
+ store32(ScratchRegister, destRegAddress);
}
void loadString(int stringId)