[Blink Heap]: Marking uses jobs API.
Manual reland take 2: Original CL: https://chromium-review.googlesource.com/c/chromium/src/+/2029609 Revert 1: https://chromium-review.googlesource.com/c/chromium/src/+/2109970 Revert 2: https://chromium-review.googlesource.com/c/chromium/src/+/2254470 Reason for revert: flaky DCHECK in AssertExpectedConcurrency Fix: DCHECK ended being removed in https://chromium-review.googlesource.com/c/chromium/src/+/2363074 Additional changes: the impl now uses exposed worker_count and IsCompleted() instead of available_concurrent_marking_task_ids_/ active_markers_, thus reducing complexity and removing need for concurrent_marker_bootstrapping_lock_. Original Description: Note: This CL enables feature BlinkHeapConcurrentMarking to get the desired behavior. However, we should land enabling BlinkHeapConcurrentMarking on its own first. active_markers + GlobalPoolSize() is used to determine the desired number of workers. NotifyConcurrencyIncrease() is called periodically from ConcurrentMarkingStep() if GlobalPoolSize() > 0, to make sure enough workers are scheduled. Bug: 1046343 Change-Id: Iac4941d804714745545314eec1e1b33d1734a4a3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2261352 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by:Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#799603}
Showing
Please register or sign in to comment