From 2d9ed318a21f6102dddc0b91de2698908a9b8efc Mon Sep 17 00:00:00 2001 From: Julien Brianceau Date: Thu, 5 Jun 2014 17:42:13 +0200 Subject: [mips] Fix branchTruncateDoubleToUint32 implementation in macro assembler. Test dfg-uint32array-overflow-values fails without this patch. Change-Id: Ia186ab5c3fbc19fd7621f5cc60678b82a6424641 Reviewed-by: Allan Sandfeld Jensen --- Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h') diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h index e13ae7b34..8f96517ca 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h @@ -2621,7 +2621,7 @@ public: { m_assembler.truncwd(fpTempRegister, src); m_assembler.mfc1(dest, fpTempRegister); - return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0)); + return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0x7fffffff)); } // Result is undefined if the value is outside of the integer range. -- cgit v1.2.1 From b6ddb5fe5d3f2223d524e45bf5cdbdde0e5b241f Mon Sep 17 00:00:00 2001 From: Julien Brianceau Date: Tue, 10 Jun 2014 09:42:31 +0200 Subject: [mips] Add floating point absolute support in JavaScriptCore. Change-Id: I8b03fb0380fa444a6da239d8ddb19bdbe6b3d061 Reviewed-by: Allan Sandfeld Jensen --- Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h') diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h index 8f96517ca..669021965 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h @@ -621,9 +621,9 @@ public: m_assembler.sqrtd(dst, src); } - void absDouble(FPRegisterID, FPRegisterID) + void absDouble(FPRegisterID src, FPRegisterID dst) { - RELEASE_ASSERT_NOT_REACHED(); + m_assembler.absd(dst, src); } ConvertibleLoadLabel convertibleLoadPtr(Address address, RegisterID dest) @@ -1188,7 +1188,15 @@ public: return false; #endif } - static bool supportsFloatingPointAbs() { return false; } + + static bool supportsFloatingPointAbs() + { +#if WTF_MIPS_DOUBLE_FLOAT + return true; +#else + return false; +#endif + } // Stack manipulation operations: // -- cgit v1.2.1