RFR: 8293011: riscv: Duplicated stubs to interpreter for static calls

Dingli Zhang duke at openjdk.org
Mon Aug 29 01:42:29 UTC 2022


Follow up [JDK-8280481](https://bugs.openjdk.org/browse/JDK-8280481), it provides duplicated stubs to interpreter for static calls.

## Testing:

- hotspot/jdk tier1 on unmatched board
- hotspot/jtreg/compiler/sharedstubs/SharedStubToInterpTest.java on qemu


## Results
#### Results from [Renaissance 0.14.0](https://github.com/renaissance-benchmarks/renaissance/releases/tag/v0.14.0)
Note: 'Nmethods with shared stubs' is the total number of nmethods counted during benchmark's run. 'Final # of nmethods' is a number of nmethods in CodeCache when JVM exited.

Because of the current hardware performance limitations and the fact that some cases crash in fastdebug mode (before applying this patch), I selected a few cases to test and reduced the number of iterations using `-r 10`. The data is sufficient to reflect the effect of the optimization.

- riscv64

+------------------+-------------+----------------------------+---------------------+
|    Benchmark     | Saved bytes | Nmethods with shared stubs | Final # of nmethods |
+------------------+-------------+----------------------------+---------------------+
| future-genetic   |       47824 |                       1278 |                1811 |
| scrabble         |       30616 |                        738 |                1605 |
| fj-kmeans        |       23320 |                        633 |                1386 |
| par-mnemonics    |        2840 |                        621 |                1398 |
| scala-kmeans     |       19544 |                        381 |                1365 |
+------------------+-------------+----------------------------+---------------------+

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

Commit messages:
 - Port JDK-8280481 to RISC-V

Changes: https://git.openjdk.org/jdk/pull/10057/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10057&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293011
  Stats: 20 lines in 4 files changed: 6 ins; 5 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/10057.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10057/head:pull/10057

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


More information about the hotspot-compiler-dev mailing list