Commit f5a027dc authored by jochen's avatar jochen Committed by Commit bot

Check whether the marking deque overflowed in ProcessEphemeralMarking

Otherwise, we might exit to early when we call ProcessEphemeralMarking
with an empty, overflown deque

BUG=none
R=hpayer@chromium.org,erik.corry@gmail.com
LOG=n

Review URL: https://codereview.chromium.org/777643002

Cr-Commit-Position: refs/heads/master@{#25660}
parent eb5049b1
...@@ -2241,6 +2241,7 @@ void MarkCompactCollector::MarkLiveObjects() { ...@@ -2241,6 +2241,7 @@ void MarkCompactCollector::MarkLiveObjects() {
&IsUnmarkedHeapObject); &IsUnmarkedHeapObject);
// Then we mark the objects. // Then we mark the objects.
heap()->isolate()->global_handles()->IterateWeakRoots(&root_visitor); heap()->isolate()->global_handles()->IterateWeakRoots(&root_visitor);
ProcessMarkingDeque();
// Repeat Harmony weak maps marking to mark unmarked objects reachable from // Repeat Harmony weak maps marking to mark unmarked objects reachable from
// the weak roots we just marked as pending destruction. // the weak roots we just marked as pending destruction.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment