Revision: 4827
Author: [email protected]
Date: Wed Jun 9 00:40:35 2010
Log: ARM: Fix bug in r4820 related to code for additional break positions.
These issues where unly revealed in debug mode
Review URL: http://codereview.chromium.org/2733006
http://code.google.com/p/v8/source/detail?r=4827
Modified:
/branches/bleeding_edge/src/arm/assembler-arm-inl.h
/branches/bleeding_edge/src/arm/debug-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/assembler-arm-inl.h Tue Jun 8 05:20:24
2010
+++ /branches/bleeding_edge/src/arm/assembler-arm-inl.h Wed Jun 9 00:40:35
2010
@@ -116,9 +116,10 @@
Address RelocInfo::call_address() {
- ASSERT(IsPatchedReturnSequence());
- // The 2 instructions offset assumes patched return sequence.
- ASSERT(IsJSReturn(rmode()));
+ // The 2 instructions offset assumes patched debug break slot or return
+ // sequence.
+ ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) ||
+ (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()));
return Memory::Address_at(pc_ + 2 * Assembler::kInstrSize);
}
=======================================
--- /branches/bleeding_edge/src/arm/debug-arm.cc Tue Jun 8 05:04:49 2010
+++ /branches/bleeding_edge/src/arm/debug-arm.cc Wed Jun 9 00:40:35 2010
@@ -263,7 +263,9 @@
void Debug::GenerateSlot(MacroAssembler* masm) {
- // Generate enough nop's to make space for a call instruction.
+ // Generate enough nop's to make space for a call instruction. Avoid
emitting
+ // the constant pool in the debug break slot code.
+ Assembler::BlockConstPoolScope block_const_pool(masm);
Label check_codesize;
__ bind(&check_codesize);
__ RecordDebugBreakSlot();
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev