< prev index next >
src/hotspot/share/runtime/sharedRuntime.cpp
Print this page
*** 1981,1995 ****
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()) {
// 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;
}
// NO_ASYNC required because an async exception on the state transition destructor
--- 1981,1991 ----
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))
! 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;
}
// NO_ASYNC required because an async exception on the state transition destructor
< prev index next >