RFR: 8305668: PPC: Non-Top Interpreted frames should be independent of ABI_ELFv2 [v2]

Richard Reingruber rrich at openjdk.org
Fri Apr 14 07:01:49 UTC 2023


> This PR makes parent interpreted Java frames independent of `ABI_ELFv2`.
> With the changes `test/jdk/jdk/internal/vm/Continuation/BasicExt.java#COMP_ALL` succeeds on PPC64 Big Endian Linux.
> 
> Before:
> 
> * `parent_ijava_frame_abi` was derived from `abi_minframe` which depends on `ABI_ELFv2`
> * jit_abi is independent of `abi_minframe`
> * `frame::metadata_words` is wrong for `parent_ijava_frame_abi` if `ABI_ELFv2` is not defined (big endian)
> 
> After changes:
> 
> * prefixed structs that depend on `ABI_ELFv2` with `native_`
> * introduced `java_abi` which is independent of `ABI_ELFv2`
> * `frame::metadata_words` is the size in words of `java_abi`
> 
> This is still a little imprecise since `top_ijava_frame_abi` is larger than `java_abi` but the top frame is never frozen as it is always `vmIntrinsics::_Continuation_doYield`
> 
> Testing:
> 
> PPC64le: most JCK and JTREG tiers 1-4, also in Xcomp mode.
> PPC64be Linux: hotspot tier1 tests

Richard Reingruber 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'
 - Update comments
 - Rename abi_reg_args_spill -> native_abi_reg_args_spill
 - Use correct abi definitions
 - Rename native abi size enum elements
 - Introduce common_abi
 - Derive parent_ijava_frame_abi from java_abi
 - java_abi
 - Native abi structs

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13372/files
  - new: https://git.openjdk.org/jdk/pull/13372/files/9613ecd9..ea9ddcfe

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13372&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13372&range=00-01

  Stats: 24490 lines in 716 files changed: 13432 ins; 8019 del; 3039 mod
  Patch: https://git.openjdk.org/jdk/pull/13372.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13372/head:pull/13372

PR: https://git.openjdk.org/jdk/pull/13372


More information about the hotspot-compiler-dev mailing list