• Zhi An Ng's avatar
    Revert "[heap] Introduce ParkedSharedMutexGuardIf and use it in compiler" · 14fda804
    Zhi An Ng authored
    This reverts commit 4cd856ee.
    
    Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/16843/overview
    
    Original change's description:
    > [heap] Introduce ParkedSharedMutexGuardIf and use it in compiler
    >
    > In some cases it could happen that the concurrent compiler tries to get
    > a shared lock on a mutex that is already exclusively held by the main
    > thread. The background thread will then block itself until the
    > main thread leaves the critical section. If the main thread then also
    > starts a GC while holding the lock, this will result in a deadlock.
    >
    > A GC can't start until the background thread reaches a safepoint and
    > the main thread can't leave the critical section before the GC ran.
    >
    > This CL introduces a new version of SharedMutexGuard named
    > RecursiveSharedMutexGuardIfNeeded. This class will park the thread
    > when blocking is needed and will unpark the thread again as soon as
    > the lock was acquired successfully. This resolves the deadlock on
    > safepointing.
    >
    > Turbofan can then simply use that class internally for
    > MapUpdaterGuardIfNeeded.
    >
    > Bug: v8:10315, chromium:1218318
    > Change-Id: Ice04b222cc979e4905791118caede26e71fca6de
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953288
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#75107}
    
    Bug: v8:10315
    Bug: chromium:1218318
    Change-Id: Ied5d8d8f3e4c7e036a5a42a25c43e8ca1ecc1218
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2956698
    Auto-Submit: Zhi An Ng <zhin@chromium.org>
    Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Cr-Commit-Position: refs/heads/master@{#75108}
    14fda804
js-heap-broker.h 26.2 KB