RFR(m): 8221734: Deoptimize with handshakes

Robbin Ehn robbin.ehn at oracle.com
Mon May 20 08:37:53 UTC 2019


Hi David,

> 
> I'm not concerned about combining these.
> 

Great!

> One nit in the test:
> 
> 59             Thread.currentThread().sleep(10);
> 
> should just be Thread.sleep(10) as its not an instance method.

Fixed in v4 which contains the simplifications in biased locking requested by 
Patricio.

Sending v4 to RFR mail.

Thanks!

/Robbin

> 
> Thanks,
> David
> -----
> 
>>
>> Good news, no issues found with deopt with handshakes.
>>
>> This is v3:
>> http://cr.openjdk.java.net/~rehn/8221734/v3/webrev/
>>
>> This full inc from v2 (review + stress test):
>> http://cr.openjdk.java.net/~rehn/8221734/v3/inc/
>>
>> This inc is the review part from v2:
>> http://cr.openjdk.java.net/~rehn/8221734/v3/inc_review/
>>
>> This inc is the additional stress test with bug fixes:
>> http://cr.openjdk.java.net/~rehn/8221734/v3/inc_test/
>>
>> Additional biased locking change:
>> The original code use same copy of markOop in revoke_and_rebias.
>> The keep same behavior I now pass in that copy into fast_revoke.
>>
>> The stress test passes hundreds of iterations in mach5.
>> Thousands stress tests locally, the issues above was reproduce-able.
>> Inc changes also passes t1-5.
>>
>> As usual with this change-set, I'm continuously running more test.
>>
>> 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