On Wed, 17 Dec 2025 19:06:22 GMT, Kevin Walls <[email protected]> wrote:
>> Yasumasa Suenaga has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Check RBP > > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/aarch64/BsdAARCH64CFrame.java > line 99: > >> 97: CodeBlob currentBlob = cc.findBlobUnsafe(pc()); >> 98: >> 99: // This case is different from HotSpot. See JDK-8371194 for >> details. > > Looks good overall I think. > What does "different from HotSpot" mean? > I see we used that phrase in 8371194 also in LinuxAARCH64CFrame.java > Maybe it is saying that these codeBlobs are handled differently from other > code? Yes. We were trying to implement similar code with NativeStackPrinter used in generating hs_err log in HotSpot, but this condition is different with it. Comments in 8371195 says: > The special case for currentBlob.isContinuationStub() || > currentBlob.isNativeMethod()) is needed compared to > os::get_sender_for_C_frame because, unlike in the VM, here we are walking > those frames as native C frames. Without the special case we depend on nextFP > which might not be valid unless -XX:+PreserveFramePointer is used. In os_bsd_aarch64.cpp, comment of `get_sender_for_C_frame()` says JVM compiled with `-fno-omit-frame-pointer`, but we can override `CFLAGS` with configure options. Thus I think it is better to align with Linux AArch64. Actually I heard this code works fine on Mac AArch64 - mixed jstack unwinded native methods successfully like `java.lang.ref.Reference.waitForReferencePendingList()`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/28686#discussion_r2629035449
