On Fri, 9 Oct 2026 06:22:43 GMT, Richard Reingruber <[email protected]> wrote:
>> Implement suggestions in https://bugs.openjdk.org/browse/JDK-8387577. >> This PR uses "approximate" pc that matches the registration offset of oops >> map. >> >> >> Testing - tier1 and tier2 test run >> >> make test TEST=":tier1 :tier2" CONF=linux-s390x-server-fastdebug >> ============================== >> Test summary >> ============================== >> TEST TOTAL PASS FAIL ERROR >> SKIP >>>> jtreg:test/hotspot/jtreg:tier1 3887 3411 8 0 >>>> 468 << >> jtreg:test/jdk:tier1 2656 2605 0 0 >> 51 >> jtreg:test/langtools:tier1 4775 4763 0 0 >> 12 >> jtreg:test/jaxp:tier1 0 0 0 0 >> 0 >> jtreg:test/lib-test:tier1 41 41 0 0 >> 0 >>>> jtreg:test/hotspot/jtreg:tier2 1059 846 3 0 >>>> 210 << >>>> jtreg:test/jdk:tier2 4609 4351 2 0 >>>> 256 << >> jtreg:test/langtools:tier2 14 12 0 0 >> 2 >> jtreg:test/jaxp:tier2 524 523 0 0 >> 1 >> jtreg:test/docs:tier2 4 0 0 0 >> 4 >> ============================== >> TEST FAILURE >> >> Failed tests also fail on master branch for the same reason, >> test/hotspot/jtreg/runtime/ErrorHandling/CreateCoredumpOnCrash.java` passes >> after enabling `ulimit -c unlimited`. >> >> >> ============================== >> Test summary >> ============================== >> TEST TOTAL PASS FAIL ERROR >> SKIP >> >> jtreg:test/hotspot/jtreg/compiler/c2/igvn/TestOptimizeTrichotomy.java#Xcomp >>>> 1 0 1 0 >>>> 0 << >> >> jtreg:test/hotspot/jtreg/compiler/c2/igvn/TestOptimizeTrichotomy.java#vanilla >>>> 1 0 1 0 >>>> 0 << >> >> jtreg:test/hotspot/jtreg/compiler/escapeAnalysis/TestBCEscapeAnalyzerOverflow.java >>>> 1 0 1 0 >>>> 0 << >> jtreg:test/hotspot/jtreg/compiler/gcbarriers/TestZGCBarrierElision.java#Z >>>> 1 0 1 0 >>>> 0 << >> >> jtreg:test/hotspot/jtreg/compiler/loopopts/superword/TestDoNotFilterNaNSummands.java >>>> ... > > src/hotspot/os_cpu/linux_s390/javaThread_linux_s390.cpp line 36: > >> 34: address pc = _anchor.last_Java_pc(); >> 35: >> 36: #ifdef ASSERT > > `pc == null` is valid here when a c2 runtime stub called into the vm (I > explained it in this [PR > comment](https://github.com/openjdk/jdk/pull/31441#discussion_r3441548556)). > You have to handle it outside of the `#ifdef ASSERT`. Hi, Thanks a lot for the review!!! Just to clarify the change here - frame(sp) constructor[1] calls frame(sp, nullptr)[2][3]. It calls setup()[4] that sets the pc from own_abi()->return_pc if it is null[5]. We want to call it out directly, so pass own_abi()->return_pc here to the frame constructor? [1] https://github.com/openjdk/jdk/blob/5f92fecdd23672b8b1d2ee7bb0d25b726fb4c0e0/src/hotspot/cpu/s390/frame_s390.inline.hpp#L105 [2] https://github.com/openjdk/jdk/blob/5f92fecdd23672b8b1d2ee7bb0d25b726fb4c0e0/src/hotspot/cpu/s390/frame_s390.hpp#L499 [3] https://github.com/openjdk/jdk/blob/5f92fecdd23672b8b1d2ee7bb0d25b726fb4c0e0/src/hotspot/cpu/s390/frame_s390.inline.hpp#L99 [4] https://github.com/openjdk/jdk/blob/5f92fecdd23672b8b1d2ee7bb0d25b726fb4c0e0/src/hotspot/cpu/s390/frame_s390.inline.hpp#L110 [5] https://github.com/openjdk/jdk/blob/5f92fecdd23672b8b1d2ee7bb0d25b726fb4c0e0/src/hotspot/cpu/s390/frame_s390.inline.hpp#L39 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33262#discussion_r4240106398
