Index: src/ia32/assembler-ia32-inl.h |
=================================================================== |
--- src/ia32/assembler-ia32-inl.h (revision 7267) |
+++ src/ia32/assembler-ia32-inl.h (working copy) |
@@ -204,11 +204,12 @@ |
visitor->VisitExternalReference(target_reference_address()); |
CPU::FlushICache(pc_, sizeof(Address)); |
#ifdef ENABLE_DEBUGGER_SUPPORT |
- } else if (Debug::has_break_points() && |
- ((RelocInfo::IsJSReturn(mode) && |
+ // TODO(isolates): Get a cached isolate below. |
+ } else if (((RelocInfo::IsJSReturn(mode) && |
IsPatchedReturnSequence()) || |
(RelocInfo::IsDebugBreakSlot(mode) && |
- IsPatchedDebugBreakSlotSequence()))) { |
+ IsPatchedDebugBreakSlotSequence())) && |
+ Isolate::Current()->debug()->has_break_points()) { |
visitor->VisitDebugTarget(this); |
#endif |
} else if (mode == RelocInfo::RUNTIME_ENTRY) { |
@@ -218,10 +219,10 @@ |
template<typename StaticVisitor> |
-void RelocInfo::Visit() { |
+void RelocInfo::Visit(Heap* heap) { |
RelocInfo::Mode mode = rmode(); |
if (mode == RelocInfo::EMBEDDED_OBJECT) { |
- StaticVisitor::VisitPointer(target_object_address()); |
+ StaticVisitor::VisitPointer(heap, target_object_address()); |
CPU::FlushICache(pc_, sizeof(Address)); |
} else if (RelocInfo::IsCodeTarget(mode)) { |
StaticVisitor::VisitCodeTarget(this); |
@@ -231,7 +232,7 @@ |
StaticVisitor::VisitExternalReference(target_reference_address()); |
CPU::FlushICache(pc_, sizeof(Address)); |
#ifdef ENABLE_DEBUGGER_SUPPORT |
- } else if (Debug::has_break_points() && |
+ } else if (heap->isolate()->debug()->has_break_points() && |
((RelocInfo::IsJSReturn(mode) && |
IsPatchedReturnSequence()) || |
(RelocInfo::IsDebugBreakSlot(mode) && |
@@ -266,7 +267,7 @@ |
Immediate::Immediate(Handle<Object> handle) { |
// Verify all Objects referred by code are NOT in new space. |
Object* obj = *handle; |
- ASSERT(!Heap::InNewSpace(obj)); |
+ ASSERT(!HEAP->InNewSpace(obj)); |
if (obj->IsHeapObject()) { |
x_ = reinterpret_cast<intptr_t>(handle.location()); |
rmode_ = RelocInfo::EMBEDDED_OBJECT; |
@@ -299,7 +300,7 @@ |
void Assembler::emit(Handle<Object> handle) { |
// Verify all Objects referred by code are NOT in new space. |
Object* obj = *handle; |
- ASSERT(!Heap::InNewSpace(obj)); |
+ ASSERT(!HEAP->InNewSpace(obj)); |
if (obj->IsHeapObject()) { |
emit(reinterpret_cast<intptr_t>(handle.location()), |
RelocInfo::EMBEDDED_OBJECT); |