[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