[10] RFR(M): 8176506: C2: loop unswitching and unsafe accesses cause crash
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Apr 20 16:44:17 UTC 2017
Okay. It is good to know that you have a plan to address regression.
Thanks,
Vladimir
On 4/20/17 4:12 AM, Roland Westrelin wrote:
>
> Hi Vladimir,
>
> Thanks for reviewing this change.
>
>> Did you run performance testing?
>
> I would have expected standard benchmarks such as specjvm2008 to not be
> affected by this change. Do you think they can be? Any other performance
> testing you would recommend?
>
>> It could affect loop optimizations and cause performance regression
>> loops have unsafe access. On other hand unsafe accesses have membars so
>> it may be not big deal.
>> At least run Andrew's ByteBuffers ;)
>
> This change hurts Andrew's ByteBuffers test. But I intend to next
> propose a change that uses profiling at unsafe call sites to speculate
> that an unsafe access is on heap (at the cost of a null check). With
> this change C2 will generate code as good as it currently does for
> Andrew's test.
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list