@@ -622,7 +622,7 @@ BiasedLocking::Condition BiasedLocking::single_revoke_with_handshake(Handle obj,
622
622
p2i (biaser), p2i (obj ()));
623
623
624
624
RevokeOneBias revoke (obj, requester, biaser);
625
- bool executed = Handshake::execute (&revoke, biaser);
625
+ bool executed = Handshake::execute_direct (&revoke, biaser);
626
626
if (revoke.status_code () == NOT_REVOKED) {
627
627
return NOT_REVOKED;
628
628
}
@@ -666,24 +666,24 @@ BiasedLocking::Condition BiasedLocking::single_revoke_with_handshake(Handle obj,
666
666
667
667
// Caller should have instantiated a ResourceMark object before calling this method
668
668
void BiasedLocking::walk_stack_and_revoke (oop obj, JavaThread* biased_locker) {
669
+ Thread* cur = Thread::current ();
669
670
assert (!SafepointSynchronize::is_at_safepoint (), " this should always be executed outside safepoints" );
670
- assert (Thread::current () == biased_locker || Thread::current ()-> is_VM_thread (), " wrong thread" );
671
+ assert (cur == biased_locker || cur == biased_locker-> active_handshaker (), " wrong thread" );
671
672
672
673
markWord mark = obj->mark ();
673
674
assert (mark.biased_locker () == biased_locker &&
674
675
obj->klass ()->prototype_header ().bias_epoch () == mark.bias_epoch (), " invariant" );
675
676
676
- log_trace (biasedlocking)(" %s (" INTPTR_FORMAT " ) revoking object " INTPTR_FORMAT " , mark "
677
+ log_trace (biasedlocking)(" JavaThread (" INTPTR_FORMAT " ) revoking object " INTPTR_FORMAT " , mark "
677
678
INTPTR_FORMAT " , type %s, prototype header " INTPTR_FORMAT
678
679
" , biaser " INTPTR_FORMAT " %s" ,
679
- Thread::current ()->is_VM_thread () ? " VMThread" : " JavaThread" ,
680
- p2i (Thread::current ()),
680
+ p2i (cur),
681
681
p2i (obj),
682
682
mark.value (),
683
683
obj->klass ()->external_name (),
684
684
obj->klass ()->prototype_header ().value (),
685
685
p2i (biased_locker),
686
- Thread::current ()-> is_VM_thread () ? " " : " (walking own stack)" );
686
+ cur != biased_locker ? " " : " (walking own stack)" );
687
687
688
688
markWord unbiased_prototype = markWord::prototype ().set_age (obj->mark ().age ());
689
689
0 commit comments