> 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 19 additional commits since the 
last revision:

 - Minor cleanup
 - Merge remote-tracking branch 'upstream/lworld' into JDK-8386240
 - More register improvement
 - 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
 - ... and 9 more: https://git.openjdk.org/valhalla/compare/1b406e18...7aea74ee

-------------

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2531/files
  - new: https://git.openjdk.org/valhalla/pull/2531/files/e4fa8baf..7aea74ee

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2531&range=03
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2531&range=02-03

  Stats: 1357 lines in 41 files changed: 1157 ins; 53 del; 147 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

Reply via email to