aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit/qv4assemblercommon_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2019-01-08 13:41:08 +0100
committerErik Verbruggen <erik.verbruggen@qt.io>2019-01-10 09:10:15 +0000
commit3795904e3831722e222fa32a1e52aeb6b3e6ba87 (patch)
treefe7fa7285b208223ceb914ec6547740ba4958e5e /src/qml/jit/qv4assemblercommon_p.h
parentbcc55604d9371ea6fb6f223a5897ab44b3bc9665 (diff)
V4: Fix stack alignment in JITted code
Helper calls done for to-integer and to-number conversions did not align the stack on 16byte boundaries, which could lead to crashes if somewhere in that call a vector instruction is used that expects such alignment. Task-number: QTBUG-71325 Change-Id: Ieec05a93a1f69b538e6c8930b8eb64cbe85c35d4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jit/qv4assemblercommon_p.h')
-rw-r--r--src/qml/jit/qv4assemblercommon_p.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/jit/qv4assemblercommon_p.h b/src/qml/jit/qv4assemblercommon_p.h
index bf239fcfd8..c17fdd3a23 100644
--- a/src/qml/jit/qv4assemblercommon_p.h
+++ b/src/qml/jit/qv4assemblercommon_p.h
@@ -320,14 +320,14 @@ public:
void pushAligned(RegisterID reg)
{
- subPtr(TrustedImm32(PointerSize), StackPointerRegister);
+ subPtr(TrustedImm32(3 * PointerSize), StackPointerRegister);
push(reg);
}
void popAligned(RegisterID reg)
{
pop(reg);
- addPtr(TrustedImm32(PointerSize), StackPointerRegister);
+ addPtr(TrustedImm32(3 * PointerSize), StackPointerRegister);
}
};