RFR: 8331934: [s390x] Add support for primitive array C1 clone intrinsic [v2]

Amit Kumar amitkumar at openjdk.org
Wed May 15 07:55:15 UTC 2024


> Adds JDK-8302850 Port for s390x. 
> 
> Testing: 
> 
> make test TEST="hotspot_compiler" JTREG="JAVA_OPTIONS=-XX:TieredStopAtLevel=1"
> 
> ==============================                                                                                                          
> Test summary                                                                                                                            
> ==============================                                                                                                          
>    TEST                                              TOTAL  PASS  FAIL ERROR                                                            
>    jtreg:test/hotspot/jtreg:hotspot_compiler          1166  1166     0     0                                                            
> ==============================                                                                                                          
> TEST SUCCESS
> 
> * Tier1 Test with Fast debug build. 
> 
> BenchMarking:
> 
> 
> Without Patch: 
> 
> Benchmark                 (size)  Mode  Cnt     Score    Error  Units
> ArrayClone.byteArraycopy       0  avgt   15    10.838 ±  0.461  ns/op
> ArrayClone.byteArraycopy      10  avgt   15    28.919 ±  1.695  ns/op
> ArrayClone.byteArraycopy     100  avgt   15    48.815 ±  0.901  ns/op
> ArrayClone.byteArraycopy    1000  avgt   15   256.357 ±  7.901  ns/op
> ArrayClone.byteClone           0  avgt   15    90.398 ±  3.119  ns/op
> ArrayClone.byteClone          10  avgt   15   103.774 ±  4.468  ns/op
> ArrayClone.byteClone         100  avgt   15   126.628 ±  6.952  ns/op
> ArrayClone.byteClone        1000  avgt   15   326.409 ± 31.635  ns/op
> ArrayClone.intArraycopy        0  avgt   15    10.450 ±  0.509  ns/op
> ArrayClone.intArraycopy       10  avgt   15    36.903 ±  0.753  ns/op
> ArrayClone.intArraycopy      100  avgt   15    85.964 ±  1.806  ns/op
> ArrayClone.intArraycopy     1000  avgt   15   841.512 ± 40.335  ns/op
> ArrayClone.intClone            0  avgt   15    89.332 ±  3.695  ns/op
> ArrayClone.intClone           10  avgt   15   110.639 ±  2.476  ns/op
> ArrayClone.intClone          100  avgt   15   195.781 ±  8.622  ns/op
> ArrayClone.intClone         1000  avgt   15  1058.479 ± 92.468  ns/op
> Finished running test 'micro:java.lang.ArrayClone'
> 
> 
> with patch:
> 
> Benchmark                 (size)  Mode  Cnt    Score    Error  Units
> ArrayClone.byteArraycopy       0  avgt   15   10.526 ±  0.289  ns/op
> ArrayClone.byteArraycopy      10  avgt   15   27.110 ±  0.656  ns/op
> Arra...

Amit Kumar has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 25 commits:

 - s390x Port
 - Update src/hotspot/share/c1/c1_GraphBuilder.cpp
   
   Co-authored-by: Dean Long <17332032+dean-long at users.noreply.github.com>
 - Fix assert to only have a single !
 - Assert type is not interface
 - Remove whitespace
 - Expanded testing in TestNullArrayClone
   
   * Added byte[] and long[] tests.
   * Verified that the cloned array has the same contents.
   * Increase number of iterations reach tier 3 threshold.
 - Update src/hotspot/share/c1/c1_GraphBuilder.cpp
   
   Co-authored-by: Boris <42576543+bulasevich at users.noreply.github.com>
 - Added test summary
 - Use vmIntrinsics instead of vmIntrinsicID
 - Fix formatting
 - ... and 15 more: https://git.openjdk.org/jdk/compare/eebcc218...d462e56b

-------------

Changes: https://git.openjdk.org/jdk/pull/19220/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19220&range=01
  Stats: 337 lines in 20 files changed: 281 ins; 6 del; 50 mod
  Patch: https://git.openjdk.org/jdk/pull/19220.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19220/head:pull/19220

PR: https://git.openjdk.org/jdk/pull/19220


More information about the hotspot-compiler-dev mailing list