Revert "[heap] Introduce ParkedSharedMutexGuardIf and use it in compiler"
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}
Showing
Please
register
or
sign in
to comment