heap: Consider embedder objects when linearly processing ephemerons
Without the proper check V8 would not delegate to the embedder (Blink) for processing wrappable objects. Bug: chromium:946941 Change-Id: I5aa3ca85e5113ab8d28a61eca6a5e0593c62f6a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547649 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60545}
This commit is contained in:
parent
afba794216
commit
b1a91ce543
@ -1645,6 +1645,7 @@ void MarkCompactCollector::ProcessEphemeronsLinear() {
|
||||
// is necessary.
|
||||
|
||||
work_to_do = !marking_worklist()->IsEmpty() ||
|
||||
!marking_worklist()->IsEmbedderEmpty() ||
|
||||
!heap()->local_embedder_heap_tracer()->IsRemoteTracingDone();
|
||||
CHECK(weak_objects_.discovered_ephemerons.IsEmpty());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user