RFR(S): 8247307: C2: Loop array fill stub routines are not called

Pengfei Li Pengfei.Li at arm.com
Wed Jun 24 04:21:46 UTC 2020


Hi Tobias,

Thanks for review comments.

> > http://cr.openjdk.java.net/~pli/rfr/8247307/webrev.00/
> 
> I don't understand how the change in loopTransform.cpp is supposed to
> work. Shouldn't we bail out if use != polladr?

In the original code, it's supposed that no node in the loop can be used by nodes outside the loop in the array fill pattern. But that's not true for CountedLoopNode in strip-mined counted loops. So my change just skips this use. It's a good idea to bail out if use != polladr. I changed the if condition to an assertion and ran the jtreg cases I tested before. There's no new failure so I think there's no other use cases.

> Also please add a comment to vm_version_x86.cpp explaining why this
> optimization is currently disabled.

Done.

> Could you add the JMH benchmark to test/micro/org/openjdk/bench/?

Done and uploaded a new webrev: http://cr.openjdk.java.net/~pli/rfr/8247307/webrev.01/

Please let me know if I didn't explain that clearly.

--
Thanks,
Pengfei



More information about the hotspot-compiler-dev mailing list