[10] RFR(M): 8176506: C2: loop unswitching and unsafe accesses cause crash

Roland Westrelin rwestrel at redhat.com
Thu Apr 20 11:12:03 UTC 2017


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