[aarch64-port-dev ] RFR: 8159063: aarch64: optimise unaligned array copy long

Edward Nevill edward.nevill at gmail.com
Fri Jun 17 13:55:27 UTC 2016


Hi Andrew,

On Thu, 2016-06-16 at 12:08 +0100, Andrew Dinn wrote:
> On 08/06/16 16:36, Andrew Haley wrote:
> > On 08/06/16 16:25, Edward Nevill wrote:
> >> http://cr.openjdk.java.net/~enevill/8159063/arraycopy.pdf
> >>
> >> OK to push to jdk8u now (and later to jdk9)?
> > 
> > Hmm.  This looks a bit risky.  I'm prepared to approve it for jdk9,
> > but jdk8 is production code.  So no, please don't push it.
> 
> Andrew asked me also to review this for jdk9. I think it is ok as is but
> I would prefer to push it with more comments to explain what it is doing.
> 
> Also, I think it is much clearer if the last 2 word copy is done using
> the same model as for the 8 and 4 word copies rather than mimicking the
> code in the aligned case. I find the use of the adjust method with
> boolean arg supplied by the repeated expression direction ==
> copy_backwards particularly opaque.
> 
> After my sig is a revised version of your patch which addresses both
> these issues. I have tested it on my Mustang hw using your supplied test
> code and it succeeds and with the same results as your original patch
> whether I pass -XX:+AvoidUnalignedAccesses or
> -XX:-AvoidUnalignedAccesses on the command line.

Thanks for checking this patch and the tidy ups. Looks good to me.

I have run a fastdebug build of jdk8u with your revised patch through
jtreg hotspot, langtools and jdk with the following results.

Original

hotspot: Test results: passed: 686; failed: 19; error: 3
langtools: Test results: passed: 3,102; error: 1
jdk: Test results: passed: 5,186; failed: 576; error: 16

Patched:

hotspot: Test results: passed: 686; failed: 19; error: 3
langtools: Test results: passed: 3,102; error: 1
jdk: Test results: passed: 5,187; failed: 576; error: 15

All the best,
Ed.




More information about the hotspot-compiler-dev mailing list