Changeset 135745 in webkit
- Timestamp:
- Nov 26, 2012, 11:37:18 AM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r135738 r135745 1 2012-11-26 Julien BRIANCEAU <jbrianceau@nds.com> 2 3 [sh4] JavaScriptCore JIT build is broken since r135330 4 Add missing implementation for sh4 arch. 5 https://bugs.webkit.org/show_bug.cgi?id=103145 6 7 Reviewed by Oliver Hunt. 8 9 * assembler/MacroAssemblerSH4.h: 10 (JSC::MacroAssemblerSH4::canJumpReplacePatchableBranchPtrWithPatch): 11 (MacroAssemblerSH4): 12 (JSC::MacroAssemblerSH4::startOfBranchPtrWithPatchOnRegister): 13 (JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch): 14 (JSC::MacroAssemblerSH4::startOfPatchableBranchPtrWithPatchOnAddress): 15 (JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranchPtrWithPatch): 16 * assembler/SH4Assembler.h: 17 (JSC::SH4Assembler::revertJump): 18 (SH4Assembler): 19 (JSC::SH4Assembler::printInstr): 20 1 21 2012-11-26 Yuqiang Xian <yuqiang.xian@intel.com> 2 22 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
r135597 r135745 2217 2217 } 2218 2218 2219 static bool canJumpReplacePatchableBranchPtrWithPatch() { return false; } 2220 2221 static CodeLocationLabel startOfBranchPtrWithPatchOnRegister(CodeLocationDataLabelPtr label) 2222 { 2223 return label.labelAtOffset(0); 2224 } 2225 2226 static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID, void* initialValue) 2227 { 2228 SH4Assembler::revertJump(instructionStart.dataLocation(), reinterpret_cast<uintptr_t>(initialValue) & 0xffff); 2229 } 2230 2231 static CodeLocationLabel startOfPatchableBranchPtrWithPatchOnAddress(CodeLocationDataLabelPtr) 2232 { 2233 UNREACHABLE_FOR_PLATFORM(); 2234 return CodeLocationLabel(); 2235 } 2236 2237 static void revertJumpReplacementToPatchableBranchPtrWithPatch(CodeLocationLabel instructionStart, Address, void* initialValue) 2238 { 2239 UNREACHABLE_FOR_PLATFORM(); 2240 } 2241 2219 2242 protected: 2220 2243 SH4Assembler::Condition SH4Condition(RelationalCondition cond) -
trunk/Source/JavaScriptCore/assembler/SH4Assembler.h
r135597 r135745 1463 1463 // Linking & patching 1464 1464 1465 static void revertJump(void* instructionStart, SH4Word imm) 1466 { 1467 SH4Word *insn = reinterpret_cast<SH4Word*>(instructionStart); 1468 SH4Word disp; 1469 1470 ASSERT((insn[0] & 0xf000) == MOVL_READ_OFFPC_OPCODE); 1471 1472 disp = insn[0] & 0x00ff; 1473 insn += 2 + (disp << 1); // PC += 4 + (disp*4) 1474 insn = (SH4Word *) ((unsigned) insn & (~3)); 1475 insn[0] = imm; 1476 cacheFlush(insn, sizeof(SH4Word)); 1477 } 1478 1465 1479 void linkJump(AssemblerLabel from, AssemblerLabel to, JumpType type = JumpFar) 1466 1480 { … … 1756 1770 format = " FCNVDS FR%d, FPUL\n"; 1757 1771 break; 1772 case FCNVSD_FPUL_DRN_OPCODE: 1773 format = " FCNVSD FPUL, FR%d\n"; 1774 break; 1758 1775 } 1759 1776 if (format) {
Note:
See TracChangeset
for help on using the changeset viewer.