From b08f93bd9ade272ab4c4669d9a6f912e702c206b Mon Sep 17 00:00:00 2001 From: Filip Pizlo Date: Thu, 25 Sep 2014 11:31:00 +0200 Subject: Unreviewed, ARMv7 build fix after r167336. * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::branchAdd32): Change-Id: Ia16f8dce00ce660cf5f7b9eb1c3496e08cbdb603 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167354 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte --- Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Source/JavaScriptCore/assembler') diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h index b1bc41729..ac3cc8646 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -1473,6 +1473,12 @@ public: return branchAdd32(cond, dest, src, dest); } + Jump branchAdd32(ResultCondition cond, Address src, RegisterID dest) + { + load32(src, dataTempRegister); + return branchAdd32(cond, dest, dataTempRegister, dest); + } + Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest) { return branchAdd32(cond, dest, imm, dest); -- cgit v1.2.1 From 0a31a97c34fb6f4bb74ef5cdae3dd81654358c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Csaba=20Osztrogon=C3=A1c?= Date: Thu, 25 Sep 2014 11:31:46 +0200 Subject: [ARM] Unreviewed build fix after r167336. * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::branchAdd32): Change-Id: I919df8301e69cca630f475afcc0c4311d713f10e git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167565 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte --- Source/JavaScriptCore/assembler/MacroAssemblerARM.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Source/JavaScriptCore/assembler') diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h index 494fe640d..9058514dc 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -725,6 +725,11 @@ public: return Jump(m_assembler.jmp(ARMCondition(cond))); } + Jump branchAdd32(ResultCondition cond, Address src, RegisterID dest) + { + load32(src, ARMRegisters::S0); + return branchAdd32(cond, dest, ARMRegisters::S0, dest); + } void mull32(RegisterID op1, RegisterID op2, RegisterID dest) { if (op2 == dest) { -- cgit v1.2.1 From 946088cf515ec30de586392ec72e4658b86650a4 Mon Sep 17 00:00:00 2001 From: Julien Brianceau Date: Tue, 30 Sep 2014 09:48:50 +0200 Subject: Add missing branchAdd32 implementations to fix sh4 and mips builds sh4 implementation has been taken from WebKit r173222. Change-Id: I1c188e88e9fd8772f97cac94d7ee31945b538b71 Reviewed-by: Allan Sandfeld Jensen --- .../JavaScriptCore/assembler/MacroAssemblerMIPS.h | 6 ++++++ .../JavaScriptCore/assembler/MacroAssemblerSH4.h | 23 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) (limited to 'Source/JavaScriptCore/assembler') diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h index 669021965..6f562e2e8 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h @@ -1630,6 +1630,12 @@ public: return branchAdd32(cond, immTempRegister, dest); } + Jump branchAdd32(ResultCondition cond, Address address, RegisterID dest) + { + load32(address, immTempRegister); + return branchAdd32(cond, immTempRegister, dest); + } + Jump branchAdd32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest) { move(imm, immTempRegister); diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h index 16e604b00..a65614b92 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h @@ -2080,6 +2080,29 @@ public: return result ? branchTrue() : branchFalse(); } + Jump branchAdd32(ResultCondition cond, Address src, RegisterID dest) + { + ASSERT((cond == Overflow) || (cond == Signed) || (cond == PositiveOrZero) || (cond == Zero) || (cond == NonZero)); + + if (cond == Overflow) { + RegisterID srcVal = claimScratch(); + load32(src, srcVal); + m_assembler.addvlRegReg(srcVal, dest); + releaseScratch(srcVal); + return branchTrue(); + } + + add32(src, dest); + + if ((cond == Signed) || (cond == PositiveOrZero)) { + m_assembler.cmppz(dest); + return (cond == Signed) ? branchFalse() : branchTrue(); + } + + compare32(0, dest, Equal); + return (cond == NonZero) ? branchFalse() : branchTrue(); + } + Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest) { ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -- cgit v1.2.1