diff options
author | Cosmin Truta <ctruta@blackberry.com> | 2013-03-21 14:52:25 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-25 11:56:23 +0100 |
commit | aba7f74b2f2637cb8b0034e0a5948d07ad9f1bb8 (patch) | |
tree | 0df66abdbc47ccb9dc52e3c8551e765a9bacfa42 /Source/JavaScriptCore/assembler | |
parent | b420ac14cdd37fcef0b33bdbca2c10240f0f3272 (diff) | |
download | qtwebkit-aba7f74b2f2637cb8b0034e0a5948d07ad9f1bb8.tar.gz |
[QNX][ARM] REGRESSION(r135330): Various failures in Octane
https://bugs.webkit.org/show_bug.cgi?id=112863
Reviewed by Yong Li.
This was fixed in http://trac.webkit.org/changeset/146396 on Linux only.
Enable this fix on QNX.
* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::maxJumpReplacementSize):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::revertJumpReplacementToBranchPtrWithPatch):
Change-Id: Ib9ced675a08b9351ddf36185140adeb1cfb24ee3
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler')
-rw-r--r-- | Source/JavaScriptCore/assembler/ARMv7Assembler.h | 6 | ||||
-rw-r--r-- | Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/Source/JavaScriptCore/assembler/ARMv7Assembler.h b/Source/JavaScriptCore/assembler/ARMv7Assembler.h index 70eb2f0ba..aa402e208 100644 --- a/Source/JavaScriptCore/assembler/ARMv7Assembler.h +++ b/Source/JavaScriptCore/assembler/ARMv7Assembler.h @@ -1262,7 +1262,7 @@ public: m_formatter.twoWordOp5i6Imm4Reg4EncodedImm(OP_MOV_imm_T3, imm.m_value.imm4, rd, imm); } -#if OS(LINUX) +#if OS(LINUX) || OS(QNX) static void revertJumpTo_movT3movtcmpT2(void* instructionStart, RegisterID left, RegisterID right, uintptr_t imm) { uint16_t* address = static_cast<uint16_t*>(instructionStart); @@ -2160,7 +2160,7 @@ public: ASSERT(!(bitwise_cast<uintptr_t>(instructionStart) & 1)); ASSERT(!(bitwise_cast<uintptr_t>(to) & 1)); -#if OS(LINUX) +#if OS(LINUX) || OS(QNX) if (canBeJumpT4(reinterpret_cast<uint16_t*>(instructionStart), to)) { uint16_t* ptr = reinterpret_cast<uint16_t*>(instructionStart) + 2; linkJumpT4(ptr, to); @@ -2179,7 +2179,7 @@ public: static ptrdiff_t maxJumpReplacementSize() { -#if OS(LINUX) +#if OS(LINUX) || OS(QNX) return 10; #else return 4; diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h index 13c67520f..06d0e1534 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -1769,7 +1769,7 @@ public: static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID rd, void* initialValue) { -#if OS(LINUX) +#if OS(LINUX) || OS(QNX) ARMv7Assembler::revertJumpTo_movT3movtcmpT2(instructionStart.dataLocation(), rd, dataTempRegister, reinterpret_cast<uintptr_t>(initialValue)); #else UNUSED_PARAM(rd); |