Index: src/liveedit.cc |
diff --git a/src/liveedit.cc b/src/liveedit.cc |
index e6bb4b29a636297d25d1d69c9ca7ff3a7b1edb52..a538c0c76e08d320b5dd97dc9cca7d39e4466468 100644 |
--- a/src/liveedit.cc |
+++ b/src/liveedit.cc |
@@ -939,13 +939,10 @@ static void ReplaceCodeObject(Handle<Code> original, |
// to code objects (that are never in new space) without worrying about |
// write barriers. |
Heap* heap = original->GetHeap(); |
- heap->CollectAllGarbage(Heap::kMakeHeapIterableMask, |
- "liveedit.cc ReplaceCodeObject"); |
+ HeapIterator iterator(heap); |
ASSERT(!heap->InNewSpace(*substitution)); |
- DisallowHeapAllocation no_allocation; |
- |
ReplacingVisitor visitor(*original, *substitution); |
// Iterate over all roots. Stack frames may have pointer into original code, |
@@ -955,7 +952,6 @@ static void ReplaceCodeObject(Handle<Code> original, |
// Now iterate over all pointers of all objects, including code_target |
// implicit pointers. |
- HeapIterator iterator(heap); |
for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) { |
obj->Iterate(&visitor); |
} |
@@ -1019,8 +1015,6 @@ class LiteralFixer { |
template<typename Visitor> |
static void IterateJSFunctions(SharedFunctionInfo* shared_info, |
Visitor* visitor) { |
- DisallowHeapAllocation no_allocation; |
- |
HeapIterator iterator(shared_info->GetHeap()); |
for (HeapObject* obj = iterator.next(); obj != NULL; |
obj = iterator.next()) { |
@@ -1165,7 +1159,7 @@ void LiveEdit::ReplaceFunctionCode( |
Handle<SharedFunctionInfo> shared_info = shared_info_wrapper.GetInfo(); |
- isolate->heap()->EnsureHeapIsIterable(); |
+ isolate->heap()->MakeHeapIterable(); |
if (IsJSFunctionCode(shared_info->code())) { |
Handle<Code> code = compile_info_wrapper.GetFunctionCode(); |
@@ -1402,7 +1396,7 @@ void LiveEdit::PatchFunctionPositions(Handle<JSArray> shared_info_array, |
info->set_end_position(new_function_end); |
info->set_function_token_position(new_function_token_pos); |
- info->GetIsolate()->heap()->EnsureHeapIsIterable(); |
+ info->GetIsolate()->heap()->MakeHeapIterable(); |
if (IsJSFunctionCode(info->code())) { |
// Patch relocation info section of the code. |