Modified: trunk/Source/_javascript_Core/ChangeLog (215225 => 215226)
--- trunk/Source/_javascript_Core/ChangeLog 2017-04-11 11:19:54 UTC (rev 215225)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-04-11 12:44:47 UTC (rev 215226)
@@ -1,3 +1,14 @@
+2017-04-11 Guillaume Emont <[email protected]>
+
+ [jsc][mips] Add missing MacroAssembler functions after r214187
+ https://bugs.webkit.org/show_bug.cgi?id=170089
+
+ Reviewed by Yusuke Suzuki.
+
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::loadFloat): Added.
+ (JSC::MacroAssemblerMIPS::storeFloat): Added.
+
2017-04-11 Yusuke Suzuki <[email protected]>
[JSC] Enable JSRunLoopTimer for JSCOnly and Windows
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (215225 => 215226)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2017-04-11 11:19:54 UTC (rev 215225)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2017-04-11 12:44:47 UTC (rev 215226)
@@ -2403,6 +2403,23 @@
}
}
+ void loadFloat(ImplicitAddress address, FPRegisterID dest)
+ {
+ if (address.offset >= -32768 && address.offset <= 32767
+ && !m_fixedWidth) {
+ m_assembler.lwc1(dest, address.base, address.offset);
+ } else {
+ /*
+ lui addrTemp, (offset + 0x8000) >> 16
+ addu addrTemp, addrTemp, base
+ lwc1 dest, (offset & 0xffff)(addrTemp)
+ */
+ m_assembler.lui(addrTempRegister, (address.offset + 0x8000) >> 16);
+ m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
+ m_assembler.lwc1(dest, addrTempRegister, address.offset);
+ }
+ }
+
void loadDouble(ImplicitAddress address, FPRegisterID dest)
{
#if WTF_MIPS_ISA(1)
@@ -2541,6 +2558,23 @@
}
}
+ void storeFloat(FPRegisterID src, ImplicitAddress address)
+ {
+ if (address.offset >= -32768 && address.offset <= 32767
+ && !m_fixedWidth)
+ m_assembler.swc1(src, address.base, address.offset);
+ else {
+ /*
+ lui addrTemp, (offset + 0x8000) >> 16
+ addu addrTemp, addrTemp, base
+ swc1 src, (offset & 0xffff)(addrTemp)
+ */
+ m_assembler.lui(addrTempRegister, (address.offset + 0x8000) >> 16);
+ m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
+ m_assembler.swc1(src, addrTempRegister, address.offset);
+ }
+ }
+
void storeDouble(FPRegisterID src, ImplicitAddress address)
{
#if WTF_MIPS_ISA(1)