RFR: 8286301: Port JEP 425 to RISC-V [v2]
Fei Yang
fyang at openjdk.org
Thu Nov 3 01:53:22 UTC 2022
> Hi,
>
> Please review this PR porting JEP 425 (Virtual Threads) to RISC-V.
>
> This is mainly adapted from the work of AArch64 port. Most of the changes lie in RISC-V scope.
> Changes to HotSpot shared code are trivial and are always guarded by RISCV64 macro. So this won't
> affect the rest of the world in theory.
>
> There exists some differences in frame structure between AArch64 and RISC-V.
> For AArch64, we have:
>
> enum {
> link_offset = 0,
> return_addr_offset = 1,
> sender_sp_offset = 2
> };
>
> While for RISC-V, we have:
>
> enum {
> link_offset = -2,
> return_addr_offset = -1,
> sender_sp_offset = 0
> };
>
> So we need adapations in some places where the code relies on value of sender_sp_offset to work.
> Note that implementation for Post-call NOPs optimization is not incorporated in this PR as we plan to
> evaluate more on its impact on performance.
>
> Testing on Linux-riscv64 HiFive Unmatched board:
> - Minimal, Client and Server release & fastdebug build OK.
> - Passed tier1-tier4 tests (release build).
> - Passed jtreg tests under test/jdk/java/lang/Thread/virtual with extra JVM options: -XX:+VerifyContinuations -XX:+VerifyStack (fastdebug build).
> - Performed benchmark tests like Dacapo, SPECjvm2008, SPECjbb2015, etc. to make sure no performance regression are introduced (release build).
Fei Yang has updated the pull request incrementally with one additional commit since the last revision:
Fix
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10917/files
- new: https://git.openjdk.org/jdk/pull/10917/files/37e1616d..36df84f2
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10917&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10917&range=00-01
Stats: 35 lines in 4 files changed: 20 ins; 5 del; 10 mod
Patch: https://git.openjdk.org/jdk/pull/10917.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10917/head:pull/10917
PR: https://git.openjdk.org/jdk/pull/10917
More information about the hotspot-dev
mailing list