Title: [135745] trunk/Source/_javascript_Core
- Revision
- 135745
- Author
- commit-qu...@webkit.org
- Date
- 2012-11-26 11:37:18 -0800 (Mon, 26 Nov 2012)
Log Message
[sh4] _javascript_Core JIT build is broken since r135330
Add missing implementation for sh4 arch.
https://bugs.webkit.org/show_bug.cgi?id=103145
Patch by Julien BRIANCEAU <jbrianc...@nds.com> on 2012-11-26
Reviewed by Oliver Hunt.
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::canJumpReplacePatchableBranchPtrWithPatch):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::startOfBranchPtrWithPatchOnRegister):
(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):
(JSC::MacroAssemblerSH4::startOfPatchableBranchPtrWithPatchOnAddress):
(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranchPtrWithPatch):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::revertJump):
(SH4Assembler):
(JSC::SH4Assembler::printInstr):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (135744 => 135745)
--- trunk/Source/_javascript_Core/ChangeLog 2012-11-26 19:31:53 UTC (rev 135744)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-11-26 19:37:18 UTC (rev 135745)
@@ -1,3 +1,23 @@
+2012-11-26 Julien BRIANCEAU <jbrianc...@nds.com>
+
+ [sh4] _javascript_Core JIT build is broken since r135330
+ Add missing implementation for sh4 arch.
+ https://bugs.webkit.org/show_bug.cgi?id=103145
+
+ Reviewed by Oliver Hunt.
+
+ * assembler/MacroAssemblerSH4.h:
+ (JSC::MacroAssemblerSH4::canJumpReplacePatchableBranchPtrWithPatch):
+ (MacroAssemblerSH4):
+ (JSC::MacroAssemblerSH4::startOfBranchPtrWithPatchOnRegister):
+ (JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):
+ (JSC::MacroAssemblerSH4::startOfPatchableBranchPtrWithPatchOnAddress):
+ (JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranchPtrWithPatch):
+ * assembler/SH4Assembler.h:
+ (JSC::SH4Assembler::revertJump):
+ (SH4Assembler):
+ (JSC::SH4Assembler::printInstr):
+
2012-11-26 Yuqiang Xian <yuqiang.x...@intel.com>
Use load64 instead of loadPtr to load a JSValue on JSVALUE64 platforms
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h (135744 => 135745)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2012-11-26 19:31:53 UTC (rev 135744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2012-11-26 19:37:18 UTC (rev 135745)
@@ -2216,6 +2216,29 @@
return 0;
}
+ static bool canJumpReplacePatchableBranchPtrWithPatch() { return false; }
+
+ static CodeLocationLabel startOfBranchPtrWithPatchOnRegister(CodeLocationDataLabelPtr label)
+ {
+ return label.labelAtOffset(0);
+ }
+
+ static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID, void* initialValue)
+ {
+ SH4Assembler::revertJump(instructionStart.dataLocation(), reinterpret_cast<uintptr_t>(initialValue) & 0xffff);
+ }
+
+ static CodeLocationLabel startOfPatchableBranchPtrWithPatchOnAddress(CodeLocationDataLabelPtr)
+ {
+ UNREACHABLE_FOR_PLATFORM();
+ return CodeLocationLabel();
+ }
+
+ static void revertJumpReplacementToPatchableBranchPtrWithPatch(CodeLocationLabel instructionStart, Address, void* initialValue)
+ {
+ UNREACHABLE_FOR_PLATFORM();
+ }
+
protected:
SH4Assembler::Condition SH4Condition(RelationalCondition cond)
{
Modified: trunk/Source/_javascript_Core/assembler/SH4Assembler.h (135744 => 135745)
--- trunk/Source/_javascript_Core/assembler/SH4Assembler.h 2012-11-26 19:31:53 UTC (rev 135744)
+++ trunk/Source/_javascript_Core/assembler/SH4Assembler.h 2012-11-26 19:37:18 UTC (rev 135745)
@@ -1462,6 +1462,20 @@
// Linking & patching
+ static void revertJump(void* instructionStart, SH4Word imm)
+ {
+ SH4Word *insn = reinterpret_cast<SH4Word*>(instructionStart);
+ SH4Word disp;
+
+ ASSERT((insn[0] & 0xf000) == MOVL_READ_OFFPC_OPCODE);
+
+ disp = insn[0] & 0x00ff;
+ insn += 2 + (disp << 1); // PC += 4 + (disp*4)
+ insn = (SH4Word *) ((unsigned) insn & (~3));
+ insn[0] = imm;
+ cacheFlush(insn, sizeof(SH4Word));
+ }
+
void linkJump(AssemblerLabel from, AssemblerLabel to, JumpType type = JumpFar)
{
ASSERT(to.isSet());
@@ -1755,6 +1769,9 @@
case FCNVDS_DRM_FPUL_OPCODE:
format = " FCNVDS FR%d, FPUL\n";
break;
+ case FCNVSD_FPUL_DRN_OPCODE:
+ format = " FCNVSD FPUL, FR%d\n";
+ break;
}
if (format) {
if (isdoubleInst)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes