Integrated: 8333154: RISC-V: Add support for primitive array C1 clone intrinsic
Gui Cao
gcao at openjdk.org
Mon Jun 3 04:45:14 UTC 2024
On Wed, 29 May 2024 08:23:39 GMT, Gui Cao <gcao at openjdk.org> wrote:
> Implementation of primitive array C1 clone intrinsic (https://bugs.openjdk.org/browse/JDK-8333154) for linux-riscv64.
>
> ### Correctness testing:
> - [x] Run make test TEST="hotspot_compiler" JTREG="JAVA_OPTIONS=-XX:TieredStopAtLevel=1" (fastdebug)
> - [x] Run tier1-3 tests on SOPHON SG2042 (release)
>
> ### Performance testing:
> Without Patch:
>
> make test TEST="micro:java.lang.ArrayClone" MICRO="JAVA_OPTIONS=-XX:TieredStopAtLevel=1"
>
> Benchmark (size) Mode Cnt Score Error Units
> ArrayClone.byteArraycopy 0 avgt 15 90.089 ± 7.122 ns/op
> ArrayClone.byteArraycopy 10 avgt 15 146.000 ± 11.761 ns/op
> ArrayClone.byteArraycopy 100 avgt 15 289.382 ± 23.903 ns/op
> ArrayClone.byteArraycopy 1000 avgt 15 767.864 ± 56.721 ns/op
> ArrayClone.byteClone 0 avgt 15 735.692 ± 26.641 ns/op
> ArrayClone.byteClone 10 avgt 15 810.810 ± 34.563 ns/op
> ArrayClone.byteClone 100 avgt 15 1055.917 ± 93.574 ns/op
> ArrayClone.byteClone 1000 avgt 15 1564.465 ± 140.941 ns/op
> ArrayClone.intArraycopy 0 avgt 15 93.732 ± 8.468 ns/op
> ArrayClone.intArraycopy 10 avgt 15 214.168 ± 34.526 ns/op
> ArrayClone.intArraycopy 100 avgt 15 613.363 ± 45.415 ns/op
> ArrayClone.intArraycopy 1000 avgt 15 1759.611 ± 59.010 ns/op
> ArrayClone.intClone 0 avgt 15 680.100 ± 24.375 ns/op
> ArrayClone.intClone 10 avgt 15 835.979 ± 75.154 ns/op
> ArrayClone.intClone 100 avgt 15 1337.354 ± 86.182 ns/op
> ArrayClone.intClone 1000 avgt 15 2696.280 ± 207.418 ns/op
> Finished running test 'micro:java.lang.ArrayClone'
>
>
> With Patch:
>
> make test TEST="micro:java.lang.ArrayClone" MICRO="JAVA_OPTIONS=-XX:TieredStopAtLevel=1"
>
> Benchmark (size) Mode Cnt Score Error Units
> ArrayClone.byteArraycopy 0 avgt 15 89.410 ± 5.112 ns/op
> ArrayClone.byteArraycopy 10 avgt 15 141.125 ± 8.711 ns/op
> ArrayClone.byteArraycopy 100 avgt 15 277.098 ± 12.925 ns/op
> ArrayClone.byteArraycopy 1000 avgt 15 770.188 ± 83.034 ns/op
> ArrayClone.byteClone 0 avgt 15 94.367 ± 7.088 ns/op
> ArrayClone.byteClone 10 avgt 15 151.804 ± 16.497 ns/op
> ArrayClone.byteClone 100 avgt 15 296.284 ± 17.893 ns/op
> ArrayClone.byteClone 1000 avgt 15 790.517 ± 28.765 ns/op
> ArrayClone.intArraycopy 0 avgt 15 93.688 ± 7.050 ns...
This pull request has now been integrated.
Changeset: 75220da2
Author: Gui Cao <gcao at openjdk.org>
Committer: Fei Yang <fyang at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/75220da26f647c6f3dabc05cea81cefaf3a1e195
Stats: 31 lines in 7 files changed: 21 ins; 0 del; 10 mod
8333154: RISC-V: Add support for primitive array C1 clone intrinsic
Reviewed-by: fyang
-------------
PR: https://git.openjdk.org/jdk/pull/19448
More information about the hotspot-compiler-dev
mailing list