RFR(m): 8221734: Deoptimize with handshakes

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon May 20 22:49:11 UTC 2019


On 5/20/19 5:04 AM, Robbin Ehn wrote:
> Hi all, please see this update v4.
>
> I have fixed the simplification Patricio talked about and David's nit.
>
> The interesting part is now the full diff of bias locking cpp file:
> http://cr.openjdk.java.net/~rehn/8221734/v4/webrev/src/hotspot/share/runtime/biasedLocking.cpp.sdiff.html 
>
> It's very clean.
>
> Full:
> http://cr.openjdk.java.net/~rehn/8221734/v4/
> Inc:
> http://cr.openjdk.java.net/~rehn/8221734/v4/inc/

src/hotspot/share/runtime/biasedLocking.cpp
     L640:   assert(mark->biased_locker() == THREAD &&
     L641:             prototype_header->bias_epoch() == 
mark->bias_epoch(), "Revoke failed, unhandled biased lock state");
         nit - please reduce L641 indent by 3 spaces.

     L698:         assert(THREAD->is_Java_thread(), "");
         nit - s/""/"must be a JavaThread"/

src/hotspot/share/runtime/biasedLocking.hpp
     No comment.

src/hotspot/share/runtime/deoptimization.cpp
     L1321:     markOop mark = obj->mark();
         Is now unused (which is good since it could get out of sync
         with the one fetched in revoke_own_locks_in_handshake()).

test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationAllTest.java
     No comments.

No need to see a new webrev if you decide to fix the bits.

Dan

>
> I have seen no issues in T1-7, KS and other assorted testing.
>
> Thanks, Robbin
>
>
> On 2019-04-25 14:05, Robbin Ehn wrote:
>> Hi all, please review.
>>
>> Let's deopt with handshakes.
>> Removed VM op Deoptimize, instead we handshake.
>> Locks needs to be inflate since we are not in a safepoint.
>>
>> Goes on top of:
>> https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-April/033491.html 
>>
>>
>> Code:
>> http://cr.openjdk.java.net/~rehn/8221734/v1/webrev/index.html
>> Issue:
>> https://bugs.openjdk.java.net/browse/JDK-8221734
>>
>> Passes t1-7 and multiple t1-5 runs.
>>
>> A few startup benchmark see a small speedup.
>>
>> Thanks, Robbin



More information about the hotspot-runtime-dev mailing list