Chromium Code Reviews| Index: src/heap/mark-compact.cc |
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
| index 9c481b09a9d326b4bd59fdbf79d431404008dc11..644637ddfa5b94d8b77a01d81cfa8e006c21f04b 100644 |
| --- a/src/heap/mark-compact.cc |
| +++ b/src/heap/mark-compact.cc |
| @@ -304,6 +304,8 @@ void MarkCompactCollector::CollectGarbage() { |
| heap_->set_encountered_weak_cells(Smi::FromInt(0)); |
| + isolate()->global_handles()->CollectPhantomCallbackData(); |
| + |
| #ifdef VERIFY_HEAP |
| if (FLAG_verify_heap) { |
| VerifyMarking(heap_); |
| @@ -2213,10 +2215,8 @@ void MarkCompactCollector::MarkLiveObjects() { |
| &IsUnmarkedHeapObject); |
| // Then we mark the objects and process the transitive closure. |
| heap()->isolate()->global_handles()->IterateWeakRoots(&root_visitor); |
| - while (marking_deque_.overflowed()) { |
| - RefillMarkingDeque(); |
| - EmptyMarkingDeque(); |
| - } |
| + |
| + ProcessMarkingDeque(); |
|
jochen (gone - plz use gerrit)
2014/12/02 10:25:59
this is not needed, because the following call to
Erik Corry
2014/12/02 10:40:49
I think this is wrong, and it is needed.
Nothing
|
| // Repeat host application specific and Harmony weak maps marking to |
| // mark unmarked objects reachable from the weak roots. |