--- old/src/hotspot/share/runtime/biasedLocking.cpp 2020-01-17 22:49:27.028802210 +0000 +++ new/src/hotspot/share/runtime/biasedLocking.cpp 2020-01-17 22:49:25.397763489 +0000 @@ -668,8 +668,8 @@ void BiasedLocking::walk_stack_and_revoke(oop obj, JavaThread* biased_locker) { assert(!SafepointSynchronize::is_at_safepoint() || !SafepointMechanism::uses_thread_local_poll(), "if SafepointMechanism::uses_thread_local_poll() is enabled this should always be executed outside safepoints"); - assert(Thread::current() == biased_locker || Thread::current() == biased_locker->get_active_handshaker() || - Thread::current()->is_VM_thread(), "wrong thread"); + Thread* cur = Thread::current(); + assert(cur == biased_locker || cur == biased_locker->get_active_handshaker() || cur->is_VM_thread(), "wrong thread"); markWord mark = obj->mark(); assert(mark.biased_locker() == biased_locker && @@ -678,14 +678,14 @@ log_trace(biasedlocking)("%s(" INTPTR_FORMAT ") revoking object " INTPTR_FORMAT ", mark " INTPTR_FORMAT ", type %s, prototype header " INTPTR_FORMAT ", biaser " INTPTR_FORMAT " %s", - Thread::current()->is_VM_thread() ? "VMThread" : "JavaThread", - p2i(Thread::current()), + cur->is_VM_thread() ? "VMThread" : "JavaThread", + p2i(cur), p2i(obj), mark.value(), obj->klass()->external_name(), obj->klass()->prototype_header().value(), p2i(biased_locker), - Thread::current()->is_VM_thread() ? "" : "(walking own stack)"); + cur->is_VM_thread() ? "" : "(walking own stack)"); markWord unbiased_prototype = markWord::prototype().set_age(obj->mark().age());