Title: [231240] trunk/Source/_javascript_Core
- Revision
- 231240
- Author
- [email protected]
- Date
- 2018-05-02 10:19:12 -0700 (Wed, 02 May 2018)
Log Message
[MIPS] Implement and16 and store16 for MacroAssemblerMIPS
https://bugs.webkit.org/show_bug.cgi?id=185195
Patch by Dominik Infuehr <[email protected]> on 2018-05-02
Reviewed by Mark Lam.
This implements the given function for MIPS, such that it builds again.
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::and16):
(JSC::MacroAssemblerMIPS::store16):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (231239 => 231240)
--- trunk/Source/_javascript_Core/ChangeLog 2018-05-02 17:14:10 UTC (rev 231239)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-05-02 17:19:12 UTC (rev 231240)
@@ -1,3 +1,16 @@
+2018-05-02 Dominik Infuehr <[email protected]>
+
+ [MIPS] Implement and16 and store16 for MacroAssemblerMIPS
+ https://bugs.webkit.org/show_bug.cgi?id=185195
+
+ Reviewed by Mark Lam.
+
+ This implements the given function for MIPS, such that it builds again.
+
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::and16):
+ (JSC::MacroAssemblerMIPS::store16):
+
2018-05-02 Rick Waldron <[email protected]>
Expose "$262.agent.monotonicNow()" for use in testing Atomic operation timeouts
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (231239 => 231240)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2018-05-02 17:14:10 UTC (rev 231239)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2018-05-02 17:19:12 UTC (rev 231240)
@@ -318,6 +318,12 @@
add32(TrustedImm32(address.offset), dest);
}
+ void and16(Address src, RegisterID dest)
+ {
+ load16(src, dataTempRegister);
+ and32(dataTempRegister, dest);
+ }
+
void and32(Address src, RegisterID dest)
{
load32(src, dataTempRegister);
@@ -1359,6 +1365,23 @@
}
}
+ void store16(RegisterID src, ImplicitAddress address)
+ {
+ if (address.offset >= -32768 && address.offset <= 32767
+ && !m_fixedWidth) {
+ m_assembler.sh(src, address.base, address.offset);
+ } else {
+ /*
+ lui addrTemp, (offset + 0x8000) >> 16
+ addu addrTemp, addrTemp, base
+ sh src, (offset & 0xffff)(addrTemp)
+ */
+ m_assembler.lui(addrTempRegister, (address.offset + 0x8000) >> 16);
+ m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
+ m_assembler.sh(src, addrTempRegister, address.offset);
+ }
+ }
+
void store16(RegisterID src, BaseIndex address)
{
if (address.offset >= -32768 && address.offset <= 32767
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes