[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