RFR: Improve AryEq
Aleksey Shipilev
shade at redhat.com
Tue Dec 20 11:15:33 UTC 2016
On 12/20/2016 12:10 PM, Roman Kennke wrote:
> This adds an cmp-barrier to the code generated by AryEq. A false
> negative in the array ptr comparison would result in the slow-path
> being taken, even though it's not necessary. The barrier should get us
> on the fast path more often.
>
> Ok?
>
> http://cr.openjdk.java.net/~rkennke/aryeq/webrev.00/
Looks okay, but would be interesting to see if we can merge null-checking paths
with acmp barrier?
8603 oopDesc::bs()->asm_acmp_barrier(this, ary1, ary2);
8604 jcc(Assembler::equal, TRUE_LABEL);
8605
8606 // Need additional checks for arrays_equals.
8607 testptr(ary1, ary1);
8608 jcc(Assembler::zero, FALSE_LABEL);
8609 testptr(ary2, ary2);
8610 jcc(Assembler::zero, FALSE_LABEL);
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list