mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
8153107: enabling ObjectSynchronizer::quick_enter() on ARM64 causes hangs
Always set the markword for recursive monitors in MacroAssembler::fast_lock(). Reviewed-by: aph, drwhite, dcubed, bulasevich
This commit is contained in:
parent
98f42dc0f5
commit
79fea6b201
2 changed files with 5 additions and 8 deletions
|
@ -1989,11 +1989,7 @@ JRT_END
|
|||
|
||||
// Handles the uncommon case in locking, i.e., contention or an inflated lock.
|
||||
JRT_BLOCK_ENTRY(void, SharedRuntime::complete_monitor_locking_C(oopDesc* _obj, BasicLock* lock, JavaThread* thread))
|
||||
// Disable ObjectSynchronizer::quick_enter() in default config
|
||||
// on AARCH64 and ARM until JDK-8153107 is resolved.
|
||||
if (ARM_ONLY((SyncFlags & 256) != 0 &&)
|
||||
AARCH64_ONLY((SyncFlags & 256) != 0 &&)
|
||||
!SafepointSynchronize::is_synchronizing()) {
|
||||
if (!SafepointSynchronize::is_synchronizing()) {
|
||||
// Only try quick_enter() if we're not trying to reach a safepoint
|
||||
// so that the calling thread reaches the safepoint more quickly.
|
||||
if (ObjectSynchronizer::quick_enter(_obj, thread, lock)) return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue