Title: [159629] trunk/Source/_javascript_Core
- Revision
- 159629
- Author
- [email protected]
- Date
- 2013-11-21 09:11:35 -0800 (Thu, 21 Nov 2013)
Log Message
Fix sh4 build after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124713
Patch by Julien Brianceau <[email protected]> on 2013-11-21
Reviewed by Michael Saboff.
Add missing implementations in macro assembler and LLINT for sh4.
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::memoryFence):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::synco):
* offlineasm/sh4.rb: Handle "memfence" opcode.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (159628 => 159629)
--- trunk/Source/_javascript_Core/ChangeLog 2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-11-21 17:11:35 UTC (rev 159629)
@@ -1,3 +1,20 @@
+2013-11-21 Julien Brianceau <[email protected]>
+
+ Fix sh4 build after r159545.
+ https://bugs.webkit.org/show_bug.cgi?id=124713
+
+ Reviewed by Michael Saboff.
+
+ Add missing implementations in macro assembler and LLINT for sh4.
+
+ * assembler/MacroAssemblerSH4.h:
+ (JSC::MacroAssemblerSH4::load8):
+ (JSC::MacroAssemblerSH4::store8):
+ (JSC::MacroAssemblerSH4::memoryFence):
+ * assembler/SH4Assembler.h:
+ (JSC::SH4Assembler::synco):
+ * offlineasm/sh4.rb: Handle "memfence" opcode.
+
2013-11-20 Mark Lam <[email protected]>
Introducing VMEntryScope to update the VM stack limit.
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h (159628 => 159629)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2013-11-21 17:11:35 UTC (rev 159629)
@@ -707,6 +707,11 @@
m_assembler.extub(dest, dest);
}
+ void load8(const void* address, RegisterID dest)
+ {
+ load8(AbsoluteAddress(address), dest);
+ }
+
void load8PostInc(RegisterID base, RegisterID dest)
{
m_assembler.movbMemRegIn(base, dest);
@@ -906,6 +911,14 @@
releaseScratch(scr);
}
+ void store8(RegisterID src, void* address)
+ {
+ RegisterID destptr = claimScratch();
+ move(TrustedImmPtr(address), destptr);
+ m_assembler.movbRegMem(src, destptr);
+ releaseScratch(destptr);
+ }
+
void store8(TrustedImm32 imm, void* address)
{
ASSERT((imm.m_value >= -128) && (imm.m_value <= 127));
@@ -2439,6 +2452,11 @@
m_assembler.nop();
}
+ void memoryFence()
+ {
+ m_assembler.synco();
+ }
+
static FunctionPtr readCallTarget(CodeLocationCall call)
{
return FunctionPtr(reinterpret_cast<void(*)()>(SH4Assembler::readCallTarget(call.dataLocation())));
Modified: trunk/Source/_javascript_Core/assembler/SH4Assembler.h (159628 => 159629)
--- trunk/Source/_javascript_Core/assembler/SH4Assembler.h 2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/assembler/SH4Assembler.h 2013-11-21 17:11:35 UTC (rev 159629)
@@ -182,6 +182,7 @@
FSQRT_OPCODE = 0xf06d,
FSCHG_OPCODE = 0xf3fd,
CLRT_OPCODE = 8,
+ SYNCO_OPCODE = 0x00ab,
};
namespace SH4Registers {
@@ -720,6 +721,11 @@
oneShortOp(NOP_OPCODE, false);
}
+ void synco()
+ {
+ oneShortOp(SYNCO_OPCODE);
+ }
+
void sett()
{
oneShortOp(SETT_OPCODE);
Modified: trunk/Source/_javascript_Core/offlineasm/sh4.rb (159628 => 159629)
--- trunk/Source/_javascript_Core/offlineasm/sh4.rb 2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/offlineasm/sh4.rb 2013-11-21 17:11:35 UTC (rev 159629)
@@ -1037,6 +1037,8 @@
$asm.puts "lds #{sh4Operands(operands)}, pr"
when "stspr"
$asm.puts "sts pr, #{sh4Operands(operands)}"
+ when "memfence"
+ $asm.puts "synco"
when "popCalleeSaves"
$asm.puts "mov.l @r15+, r8"
$asm.puts "mov.l @r15+, r9"
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes