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