diff options
author | Sergio Ahumada <sahumada@blackberry.com> | 2014-06-11 10:07:27 +0200 |
---|---|---|
committer | Sergio Ahumada <sahumada@blackberry.com> | 2014-06-11 10:07:27 +0200 |
commit | 8dfa79c6c0585cb3db9c21658b84f936fdc43252 (patch) | |
tree | 8420703b518c3101d9979224d996d583d5469ad0 /Source/JavaScriptCore/assembler | |
parent | 29dd87ecc570ebc51890e0587e73e7a144d892aa (diff) | |
parent | b6ddb5fe5d3f2223d524e45bf5cdbdde0e5b241f (diff) | |
download | qtwebkit-8dfa79c6c0585cb3db9c21658b84f936fdc43252.tar.gz |
Merge remote-tracking branch 'origin/stable' into 5.3
Change-Id: I09992d60034fccf74c5f754ab88bebe8b8de5e45
Diffstat (limited to 'Source/JavaScriptCore/assembler')
-rw-r--r-- | Source/JavaScriptCore/assembler/MIPSAssembler.h | 5 | ||||
-rw-r--r-- | Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/Source/JavaScriptCore/assembler/MIPSAssembler.h b/Source/JavaScriptCore/assembler/MIPSAssembler.h index 5f7b9b21a..03ef23ba7 100644 --- a/Source/JavaScriptCore/assembler/MIPSAssembler.h +++ b/Source/JavaScriptCore/assembler/MIPSAssembler.h @@ -529,6 +529,11 @@ public: emitInst(0x46200004 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); } + void absd(FPRegisterID fd, FPRegisterID fs) + { + emitInst(0x46200005 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); + } + void movd(FPRegisterID fd, FPRegisterID fs) { emitInst(0x46200006 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h index e13ae7b34..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: // @@ -2621,7 +2629,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. |