dragonwell-project / dragonwell8

Alibaba Dragonwell8 JDK
http://dragonwell-jdk.io
GNU General Public License v2.0
4.2k stars 497 forks source link

[Backport] 8166197: assert(RelaxAssert || w != Thread::current()->_MutexEvent) failed: invariant #648

Closed lingjun-cg closed 3 months ago

lingjun-cg commented 3 months ago

[Backport] 8166197: assert(RelaxAssert || w != Thread::current()->_MutexEvent) failed: invariant

Summary: Add load-acquire and store-release on share variable _OnDeck to ensure Mutex work on AArch64.

Testing: No testcase becuase the frequency is occasionally when run G1 gc with high cpu usage.

Reviewers: kuaiwei, yuleil

Issue: https://github.com/dragonwell-project/dragonwell8/issues/647