RFR: 8309665: Simplify Arrays.copyOf/-Range methods

Brett Okken duke at openjdk.org
Thu Jun 8 16:17:49 UTC 2023


On Thu, 8 Jun 2023 15:08:28 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> https://bugs.openjdk.org/browse/JDK-8301958 and later changes improved Arrays.copyOf/-Range methods to improve peak performance in microbenchmarks when copying the entire array, but it's resulted in a few lurking footprint benchmark issues that come down to incurring slightly more JIT activity. As a partial remedy I propose simplifying the implementation so that no new methods are added compared to the JDK 20 baseline. This patch maintains the microbenchmark speed-up from JDK-8301958 while reducing JIT compilations in startup/footprint benchmarks.

src/java.base/share/classes/java/util/Arrays.java line 3845:

> 3843:      */
> 3844:     public static byte[] copyOfRange(byte[] original, int from, int to) {
> 3845:         // Tickle the JIT to fold special cases optimally

this comment has been inconsistently left vs removed in the various methods (even though the other changes appear the same). was this intentional?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14380#discussion_r1223276847


More information about the core-libs-dev mailing list