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