diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2019-01-08 13:41:08 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2019-01-10 09:10:15 +0000 |
commit | 3795904e3831722e222fa32a1e52aeb6b3e6ba87 (patch) | |
tree | fe7fa7285b208223ceb914ec6547740ba4958e5e /src/qml/jit/qv4assemblercommon_p.h | |
parent | bcc55604d9371ea6fb6f223a5897ab44b3bc9665 (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.h | 4 |
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); } }; |