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

Martin Doerr mdoerr at openjdk.org
Fri Apr 14 09:04:42 UTC 2023


On Fri, 14 Apr 2023 07:01:49 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> 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

Marked as reviewed by mdoerr (Reviewer).

LGTM.

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

PR Review: https://git.openjdk.org/jdk/pull/13372#pullrequestreview-1385000384
PR Comment: https://git.openjdk.org/jdk/pull/13372#issuecomment-1508182994


More information about the hotspot-compiler-dev mailing list