RFR: 8305668: PPC: Non-Top Interpreted frames should be independent of ABI_ELFv2
Richard Reingruber
rrich at openjdk.org
Thu Apr 6 13:41:14 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
-------------
Commit messages:
- 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: https://git.openjdk.org/jdk/pull/13372/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13372&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8305668
Stats: 146 lines in 21 files changed: 13 ins; 13 del; 120 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