Index: src/debug.cc |
diff --git a/src/debug.cc b/src/debug.cc |
index 866839d4f501397ea134bf9d978634e26217c7a2..05050d1aa2f55a403a11d3cec533f34243835d26 100644 |
--- a/src/debug.cc |
+++ b/src/debug.cc |
@@ -2005,14 +2005,15 @@ void Debug::PrepareForBreakPoints() { |
{ |
// We are going to iterate heap to find all functions without |
// debug break slots. |
- isolate_->heap()->CollectAllGarbage(Heap::kMakeHeapIterableMask, |
- "preparing for breakpoints"); |
+ Heap* heap = isolate_->heap(); |
+ heap->CollectAllGarbage(Heap::kMakeHeapIterableMask, |
+ "preparing for breakpoints"); |
// Ensure no GC in this scope as we are going to use gc_metadata |
// field in the Code object to mark active functions. |
AssertNoAllocation no_allocation; |
- Object* active_code_marker = isolate_->heap()->the_hole_value(); |
+ Object* active_code_marker = heap->the_hole_value(); |
CollectActiveFunctionsFromThread(isolate_, |
isolate_->thread_local_top(), |
@@ -2026,7 +2027,7 @@ void Debug::PrepareForBreakPoints() { |
// Scan the heap for all non-optimized functions which have no |
// debug break slots and are not active or inlined into an active |
// function and mark them for lazy compilation. |
- HeapIterator iterator; |
+ HeapIterator iterator(heap); |
HeapObject* obj = NULL; |
while (((obj = iterator.next()) != NULL)) { |
if (obj->IsJSFunction()) { |
@@ -2121,11 +2122,12 @@ Object* Debug::FindSharedFunctionInfoInScript(Handle<Script> script, |
int target_start_position = RelocInfo::kNoPosition; |
Handle<JSFunction> target_function; |
Handle<SharedFunctionInfo> target; |
+ Heap* heap = isolate_->heap(); |
while (!done) { |
{ // Extra scope for iterator and no-allocation. |
- isolate_->heap()->EnsureHeapIsIterable(); |
+ heap->EnsureHeapIsIterable(); |
AssertNoAllocation no_alloc_during_heap_iteration; |
- HeapIterator iterator; |
+ HeapIterator iterator(heap); |
for (HeapObject* obj = iterator.next(); |
obj != NULL; obj = iterator.next()) { |
bool found_next_candidate = false; |
@@ -2185,9 +2187,7 @@ Object* Debug::FindSharedFunctionInfoInScript(Handle<Script> script, |
} // End for loop. |
} // End no-allocation scope. |
- if (target.is_null()) { |
- return isolate_->heap()->undefined_value(); |
- } |
+ if (target.is_null()) return heap->undefined_value(); |
// There will be at least one break point when we are done. |
has_break_points_ = true; |
@@ -2461,7 +2461,7 @@ void Debug::CreateScriptCache() { |
// Scan heap for Script objects. |
int count = 0; |
- HeapIterator iterator; |
+ HeapIterator iterator(heap); |
AssertNoAllocation no_allocation; |
for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) { |