summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/assembler
diff options
context:
space:
mode:
authorCosmin Truta <ctruta@blackberry.com>2013-03-21 14:52:25 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-25 11:56:23 +0100
commitaba7f74b2f2637cb8b0034e0a5948d07ad9f1bb8 (patch)
tree0df66abdbc47ccb9dc52e3c8551e765a9bacfa42 /Source/JavaScriptCore/assembler
parentb420ac14cdd37fcef0b33bdbca2c10240f0f3272 (diff)
downloadqtwebkit-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.h6
-rw-r--r--Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h2
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);