• Dominik Inführ's avatar
    [heap] Improve ephemeron processing · 1054ee7f
    Dominik Inführ authored
    Refactor code such that the linear algorithm is actually executed
    outside the method for the fixpoint iteration. Also added a CHECK
    which verifies that iterating the ephemerons one more time results in
    no further marked objects.
    
    Also force another iteration when ProcessMarkingWorklist() processed
    some object. In such cases we need to re-process all ephemerons
    otherwise ephemeron semantics might be broken.
    
    Bug: chromium:1252918
    Change-Id: I9123dda50e34227a04825fd8b3172368286cc76f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3190100
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77131}
    1054ee7f
concurrent-marking.h 4.16 KB