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