[heap] Remove COMPLETE state from IncrementalMarking
This CL removes the COMPLETE state from incremental marking. Since then the only states left were STOPPED and MARKING, we can replace the state with an is_running_ boolean field. The state could change back-and-forth between MARKING and COMPLETE. IsMarking() was already also checking for COMPLETE. So most code already treated both states the same. IsComplete() now checks whether marking is running and a transitive closure was reached already. IncrementalMarking::Step() didn't process the marking queue when in COMPLETE. This should be relatively rare though since it only transitioned into COMPLETE when the stack guard was armed and the allocation observer ran again before reaching a stack guard check. Bug: v8:12775 Change-Id: Ied48d8c512ad3d1b3d2e29393d43b434b5fda8fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3835689Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82581}
Showing
Please
register
or
sign in
to comment