[jdk17u-dev] RFR: 8276799: Implementation of JEP 422: Linux/RISC-V Port [v5]
Aleksey Shipilev
shade at openjdk.org
Tue Jun 27 08:53:24 UTC 2023
On Tue, 27 Jun 2023 04:00:30 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> The RISC-V port was originally developed at Huawei Technologies, then integrated into OpenJDK 19.
>>
>> The 17u version of the port has continued to be maintained in the openjdk/riscv-port-jdk17u repo later
>> and has been tested for several months. There are few changes to shared HotSpot code (mostly the main
>> one is C1 conditional move/branch support for RISC-V). As required by 17u maintainer, changes to shared
>> code has been kept to a minimum. Only enabling shared changes are incorporated and these changes are
>> properly guarded with macro RISCV. So this 17u port should not breaking existing code and, although it is
>> a large patch, finally integrating it into 17u upstream should be low risk.
>>
>> Testing on linux-riscv64 platform:
>> - [x] Bootcycle (release & fastdebug build)
>> - [x] Tier1-4 tests (release build)
>> - [x] Benchmark workloads (Dacapo, SPECJbb2015, SPECJVM2008, Renaissance. release build)
>
> Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains ten additional commits since the last revision:
>
> - Merge branch 'master' into jep422-17u-backport
> - 8285630: Fix a configure error in RISC-V cross build
> - Adds back commit ef86ea2842b1a204834291d9d6665bfcd7b75fbc
> - Merge branch 'master' into jep422-17u-backport
> - Merge branch 'master' into jep422-17u-backport
> - 8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051
> - Merge remote-tracking branch 'upstream/master' into jep422-17u-backport
> - Merge remote-tracking branch 'upstream/master' into jep422-17u-backport
> - 8276799: Implementation of JEP 422: Linux/RISC-V Port
I looked at shared code changes, and they seem like a good compromise to me.
A few minor nits, though:
src/hotspot/share/c1/c1_LIR.cpp line 1752:
> 1750: case lir_ucmp_fd2i: s = "ucomp_fd2i"; break;
> 1751: case lir_cmp_fd2i: s = "comp_fd2i"; break;
> 1752: // cmove is a LIR_Op4 on RISCV
This comment feels redundant here.
src/hotspot/share/c1/c1_LIR.hpp line 1695:
> 1693: };
> 1694:
> 1695: #ifdef RISCV
Would you be able not to move this code? Leave it in place, so that diff is cleaner?
-------------
PR Review: https://git.openjdk.org/jdk17u-dev/pull/1427#pullrequestreview-1500274457
PR Review Comment: https://git.openjdk.org/jdk17u-dev/pull/1427#discussion_r1243368670
PR Review Comment: https://git.openjdk.org/jdk17u-dev/pull/1427#discussion_r1243355102
More information about the jdk-updates-dev
mailing list