RFR(M): 8073480: C2 should optimize explicit range checks
aleksey.shipilev at oracle.com
Mon Mar 2 18:13:44 UTC 2015
On 03/02/2015 08:56 PM, Aleksey Shipilev wrote:
> Hi Roland,
> On 02/25/2015 07:28 PM, Roland Westrelin wrote:
>>> And here is the same on jdk9/hs-rt with your patch applied:
>>> 0x0000000110355f40: movslq %r10d,%r9
>>> 0x0000000110355f43: add 0x10(%r8,%r9,4),%eax ;*iadd
>>> ; - arrays.ArrayTest::u_loop at 22 (line 65)
>>> 0x0000000110355f48: inc %r10d ;*iinc
>>> ; - arrays.ArrayTest::u_loop at 24 (line 64)
>>> 0x0000000110355f4b: cmp %r11d,%r10d
>>> 0x0000000110355f4e: jl 0x0000000110355f40 ;*if_icmpge
>>> ; - arrays.ArrayTest::u_loop at 12 (line 64)
>>> I wish we could get rid of those pesky "movslq" instructions :-) but IIUC that is tricky.
>> Are the movslq there only for the u_loop() case? Can you send me your test case. I’ll see if I can make them go away.
> Do you still want a testcase? I have a JMH nanobenchmark that reproduces
> exactly this behavior.
Filed my testcase under:
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: OpenPGP digital signature
More information about the hotspot-compiler-dev