Title: [135610] trunk/Source/_javascript_Core
- Revision
- 135610
- Author
- [email protected]
- Date
- 2012-11-23 07:32:46 -0800 (Fri, 23 Nov 2012)
Log Message
Fix the ARM traditional build after r135330
https://bugs.webkit.org/show_bug.cgi?id=102871
Patch by Gabor Ballabas <[email protected]> on 2012-11-23
Reviewed by Zoltan Herczeg.
Added missing functionality to traditional ARM architecture.
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::revertJump):
(ARMAssembler):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::startOfPatchableBranchPtrWithPatchOnAddress):
(JSC::MacroAssemblerARM::startOfBranchPtrWithPatchOnRegister):
(MacroAssemblerARM):
(JSC::MacroAssemblerARM::revertJumpReplacementToBranchPtrWithPatch):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (135609 => 135610)
--- trunk/Source/_javascript_Core/ChangeLog 2012-11-23 15:15:58 UTC (rev 135609)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-11-23 15:32:46 UTC (rev 135610)
@@ -1,3 +1,21 @@
+2012-11-23 Gabor Ballabas <[email protected]>
+
+ Fix the ARM traditional build after r135330
+ https://bugs.webkit.org/show_bug.cgi?id=102871
+
+ Reviewed by Zoltan Herczeg.
+
+ Added missing functionality to traditional ARM architecture.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::revertJump):
+ (ARMAssembler):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::startOfPatchableBranchPtrWithPatchOnAddress):
+ (JSC::MacroAssemblerARM::startOfBranchPtrWithPatchOnRegister):
+ (MacroAssemblerARM):
+ (JSC::MacroAssemblerARM::revertJumpReplacementToBranchPtrWithPatch):
+
2012-11-16 Yury Semikhatsky <[email protected]>
Memory instrumentation: extract MemoryObjectInfo declaration into a separate file
Modified: trunk/Source/_javascript_Core/assembler/ARMAssembler.h (135609 => 135610)
--- trunk/Source/_javascript_Core/assembler/ARMAssembler.h 2012-11-23 15:15:58 UTC (rev 135609)
+++ trunk/Source/_javascript_Core/assembler/ARMAssembler.h 2012-11-23 15:32:46 UTC (rev 135610)
@@ -402,6 +402,13 @@
emitInstruction(toARMWord(cc) | MOV | SetConditionalCodes, rd, ARMRegisters::r0, op2);
}
+ static void revertJump(void* instructionStart, RegisterID rd, ARMWord imm)
+ {
+ ARMWord* insn = reinterpret_cast<ARMWord*>(instructionStart);
+ ARMWord* address = getLdrImmAddress(insn);
+ *address = imm;
+ }
+
void bic(int rd, int rn, ARMWord op2, Condition cc = AL)
{
emitInstruction(toARMWord(cc) | BIC, rd, rn, op2);
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h (135609 => 135610)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2012-11-23 15:15:58 UTC (rev 135609)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2012-11-23 15:32:46 UTC (rev 135610)
@@ -1268,12 +1268,22 @@
static bool canJumpReplacePatchableBranchPtrWithPatch() { return false; }
- static CodeLocationLabel startOfPatchableBranchPtrWithPatch(CodeLocationDataLabelPtr label)
+ static CodeLocationLabel startOfPatchableBranchPtrWithPatchOnAddress(CodeLocationDataLabelPtr)
{
UNREACHABLE_FOR_PLATFORM();
return CodeLocationLabel();
}
+ static CodeLocationLabel startOfBranchPtrWithPatchOnRegister(CodeLocationDataLabelPtr label)
+ {
+ return label.labelAtOffset(0);
+ }
+
+ static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID reg, void* initialValue)
+ {
+ ARMAssembler::revertJump(instructionStart.dataLocation(), reg, reinterpret_cast<uintptr_t>(initialValue) & 0xffff);
+ }
+
static void revertJumpReplacementToPatchableBranchPtrWithPatch(CodeLocationLabel instructionStart, Address, void* initialValue)
{
UNREACHABLE_FOR_PLATFORM();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes