> Hi, please consider. > > This provides the necessary JVM changes (interpreter, c1 and c2) for a > specification-compliant Valhalla port on linux-riscv64 platform. Major change > is made in the riscv CPU part. We need a very small change to hotspot c1 > shared code. The reason is that there doesn't exist a real flag register for > the riscv64 ISA. So we have to pass the result in a temp register. That's a > major difference from other ISAs like aarch64 & amd64. > > Calling convention flattening feature has not been implemented for this > platform. If either `-InlineTypePassFieldsAsArgs` or > `-XX:-InlineTypeReturnedAsFields` is specified on the command line, JVM will > issue a warning and continue with these two options disabled. This helps > enable most of Valhalla tests on this platform so that we could have a better > test coverage. > > > > Testing on linux-riscv64: > - [x] GHA > - [x] `make test TEST="hotspot_valhalla jdk_valhalla valhalla_adopted"` > (release & fastdebug) > - [x] `make test TEST="tier1 tier2 tier3 tier4"` (release) > - [x] `make test TEST="hotspot:tier1 hotspot:tier2 hotspot:tier3 > hotspot:tier4"` (fastdebug) > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
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 16 additional commits since the last revision: - Improve register usage - Merge remote-tracking branch 'upstream/lworld' into JDK-8386240 - Header Cleanup - Small Refactor - Add handling for Metaspace OOME in ciObjArrayKlass::make_impl - Code Comment - Merge remote-tracking branch 'upstream/lworld' into JDK-8386240 - More code cleanup - Fix typo - Merge remote-tracking branch 'upstream/lworld' into JDK-8386240 - ... and 6 more: https://git.openjdk.org/valhalla/compare/34c259a7...48fe0f02 ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2531/files - new: https://git.openjdk.org/valhalla/pull/2531/files/d1e15117..48fe0f02 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2531&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2531&range=00-01 Stats: 12 lines in 3 files changed: 0 ins; 5 del; 7 mod Patch: https://git.openjdk.org/valhalla/pull/2531.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2531/head:pull/2531 PR: https://git.openjdk.org/valhalla/pull/2531
