• Dominik Inführ's avatar
    [heap] Fix global safepoint when waiting in event loop · 3eb8671e
    Dominik Inführ authored
    When starting a global safepoint, it could happen that one isolate is
    waiting/blocking in the event loop, which prevents this isolate from
    reaching a safepoint. As a consequence we therefore deadlock when
    performing the safepoint. We can solve this by simply posting a task
    for each isolate that when run performs a safepoint check.
    
    This CL also renames IncludeMainThreadUnlessInitiator to
    ShouldIncludeMainThread.
    
    Bug: v8:11708, v8:12645
    Change-Id: Ide956b3c39b350c2bb0279a7dd94ff79cb9d771b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555771Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79675}
    3eb8671e
safepoint.h 5.79 KB