RFR(XS): 8211451: ~2.5% regression on compression benchmark starting with 12-b11

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Oct 23 16:19:32 UTC 2018


On 10/23/18 8:30 AM, Roland Westrelin wrote:
> 
> Hi Vladimir,
> 
> Vladimir Kozlov <vladimir.kozlov at oracle.com> writes:
> 
>> You are saying that don't do that check since this condition will not help to avoid overflow anyway. Right?
> 
> Yes.
> 
>> And to make this regression go away we need to convert test's loop into counted loop and unroll it even with 'ne'
>> condition. Right?
> 
> Yes.
> 
>> Can we strengthen code by adding runtime check (predicate) for 'ne' case that init < limit? We do this for limit today.
> 
> Would it share the uncommon trap call with the loop limit check or would
> that be an entirely new Deoptimization::Reason_XXX?

Share Reason_loop_limit_check  -  they are checks for overflow.

> 
> While we're doing it why not convert:
> 
> init_t->_hi > max_jint - stride_con

No need. We have limit < max_jint - stride_con runtime check now and new
init < limit check will also mean init < limit < max_jint - stride_con.
I hope I am not missing anything here.

Vladimir

> 
> into a runtime check as well?
> 
> Roland.
> 


More information about the hotspot-compiler-dev mailing list