RFR: 8293770: RISC-V: Reuse runtime call trampolines [v3]
Dingli Zhang
dzhang at openjdk.org
Tue Sep 27 01:59:56 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 |
> +--------------------------------------------------------------------------------------------------------+
Dingli Zhang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
- Fix alignment
- Simplify targe related jal call in macroAssembler_riscv.cpp
- Port JDK-8280152 to RISC-V
Co-authored-by: zifeihan <caogui at iscas.ac.cn>
-------------
Changes: https://git.openjdk.org/jdk/pull/10260/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10260&range=02
Stats: 72 lines in 4 files changed: 61 ins; 4 del; 7 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