RFR: 8342601: AArch64: Micro-optimize bit shift in copy_memory [v3]
Dean Long
dlong at openjdk.org
Mon Oct 21 20:14:24 UTC 2024
On Mon, 21 Oct 2024 16:03:23 GMT, Chad Rakoczy <duke at openjdk.org> wrote:
>> [JDK-8342601](https://bugs.openjdk.org/browse/JDK-8342601)
>>
>> Fix minor inefficiency in `copy_memory` by adding check before doing bit shift to see if we are able to do a move instruction instead. Change is low risk because of the low complexity of the change
>>
>> Ran array copy and tier 1 on aarch64 machine
>>
>> Test summary
>> ==============================
>> TEST TOTAL PASS FAIL ERROR
>> jtreg:test/hotspot/jtreg/compiler/arraycopy 49 49 0 0
>> ==============================
>>
>> ==============================
>> Test summary
>> ==============================
>> TEST TOTAL PASS FAIL ERROR
>> jtreg:test/hotspot/jtreg:tier1 2591 2591 0 0
>> jtreg:test/jdk:tier1 2436 2436 0 0
>> jtreg:test/langtools:tier1 4577 4577 0 0
>> jtreg:test/jaxp:tier1 0 0 0 0
>> jtreg:test/lib-test:tier1 34 34 0 0
>> ==============================
>
> Chad Rakoczy has updated the pull request incrementally with one additional commit since the last revision:
>
> Update check
If I had known about aarch64 optimizations like Neoverse 0 latency moves when I first looked at this, I would have approved it, so some code comments hinting at why we are doing this not-completely-obvious optimization would be appreciated.
-------------
Marked as reviewed by dlong (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/21589#pullrequestreview-2383215877
More information about the hotspot-compiler-dev
mailing list