RFR: 8293770: RISC-V: Reuse runtime call trampolines
Dingli Zhang
dzhang at openjdk.org
Wed Sep 14 03:16:33 UTC 2022
Follow up [JDK-8280152](https://bugs.openjdk.org/browse/JDK-8280152), this case also exists in riscv.
Benchmark als, chi-square, dec-tree, log-regression, naive-bayes, page-rank, fj-kmeans, reactors, future-genetic, mnemonics, dotty, scala-kmeans, and finagle-http in Renaissance (0.14.1) are tested. The sum of the used size of CodeHeap 'non-profiled nmethods' and CodeHeap 'profiled nmethods' shows ~2.1% reduction on average.
## Testing:
- hotspot and jdk tier1 on unmatched board without new failures
- hotspot/jtreg/compiler/sharedstubs/SharedTrampolineTest.java with fastdebug on qemu
## Results
#### Results from [Renaissance 0.14.1](https://github.com/renaissance-benchmarks/renaissance/releases/tag/v0.14.1)
- riscv64
+--------------------------------------------------------------------------------------------------------+
| | Before | After |
| Benchmark |---------------------------------------------------------------------------------------|
| | non-profiled nmethods | profiled nmethods | non-profiled nmethods | profiled nmethods |
+----------------+-----------------------+-------------------+-----------------------+-------------------|
| als | 15628 | 39421 | 12341 | 26681 |
| chi-square | 6349 | 20268 | 6033 | 20252 |
| dec-tree | 11058 | 42443 | 10774 | 43880 |
| log-regression | 10939 | 38237 | 12071 | 44199 |
| naive-bayes | 9023 | 29563 | 9294 | 30948 |
| page-rank | 6054 | 17041 | 5812 | 17353 |
| fj-kmeans | 692 | 2893 | 651 | 3354 |
| reactors | 2126 | 4073 | 1876 | 4106 |
| future-genetic | 1306 | 4118 | 1226 | 4142 |
| mnemonics | 726 | 2659 | 706 | 2684 |
| dotty | 26059 | 24417 | 24585 | 25379 |
| scala-kmeans | 564 | 3122 | 543 | 3132 |
| finagle-http | 6188 | 12455 | 6102 | 12295 |
| sum | 96712 | 240710 | 92014 | 238405 |
+--------------------------------------------------------------------------------------------------------+
-------------
Commit messages:
- Port JDK-8280152 to RISC-V
Changes: https://git.openjdk.org/jdk/pull/10260/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10260&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8293770
Stats: 66 lines in 4 files changed: 60 ins; 0 del; 6 mod
Patch: https://git.openjdk.org/jdk/pull/10260.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10260/head:pull/10260
PR: https://git.openjdk.org/jdk/pull/10260
More information about the hotspot-dev
mailing list