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

Richard Reingruber rrich at openjdk.org
Thu Apr 13 16:46:42 UTC 2023


On Thu, 6 Apr 2023 13:22: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

Thanks for the testing. Are you sure though your build includes the changes of this pr?
There is a problem in exception handling which is related to the changes.

`test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat03` crashes in my tests with SIGSEGV:


Stack: [0x000004001a0d0000,0x000004001a2d0000],  sp=0x000004001a2cd310,  free space=2036k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xedc318]  frame::interpreter_frame_method() const+0x58  (frame.cpp:398)
V  [libjvm.so+0x11bdd30]  InterpreterRuntime::exception_handler_for_exception(JavaThread*, oopDesc*)+0x120  (interpreterRuntime.cpp:473)


Other tests seem to hang.

Also the failures of `test/jdk/jdk/internal/vm/Continuation/BasicExt.java` are related to exception handling.
BTW: does the COMP_ALL variant of BasicExt.java succeed on AIX too with these changes?

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

PR Comment: https://git.openjdk.org/jdk/pull/13372#issuecomment-1504730860


More information about the hotspot-compiler-dev mailing list