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