From 07c3021936e1fd9403e1fdb764fa535be49e2ee8 Mon Sep 17 00:00:00 2001 From: David Holmes Date: Thu, 13 Aug 2020 00:20:42 -0400 Subject: [PATCH] 8251460: Fix the biased-locking code in ObjectSynchronizer::FastHashCode Reviewed-by: coleenp, dcubed, pchilanomate --- src/hotspot/share/runtime/synchronizer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hotspot/share/runtime/synchronizer.cpp b/src/hotspot/share/runtime/synchronizer.cpp index 9a92fca6130..74d509d3154 100644 --- a/src/hotspot/share/runtime/synchronizer.cpp +++ b/src/hotspot/share/runtime/synchronizer.cpp @@ -1007,11 +1007,11 @@ intptr_t ObjectSynchronizer::FastHashCode(Thread* self, oop obj) { if (obj->mark().has_bias_pattern()) { // Handle for oop obj in case of STW safepoint Handle hobj(self, obj); - // Relaxing assertion for bug 6320749. - assert(Universe::verify_in_progress() || - !SafepointSynchronize::is_at_safepoint(), - "biases should not be seen by VM thread here"); - BiasedLocking::revoke(hobj, JavaThread::current()); + if (SafepointSynchronize::is_at_safepoint()) { + BiasedLocking::revoke_at_safepoint(hobj); + } else { + BiasedLocking::revoke(hobj, self); + } obj = hobj(); assert(!obj->mark().has_bias_pattern(), "biases should be revoked by now"); }