On Tue, 7 Apr 2026 12:26:40 GMT, Yasumasa Suenaga <[email protected]> wrote:

>> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java
>>  line 160:
>> 
>>> 158:           fallback = true;
>>> 159:         } catch (DebuggerException _) {
>>> 160:           if (linuxDbg().isSignalTrampoline(senderPC)) {
>> 
>> Is this "We can use the caller frame if it is a signal trampoline." ?
>> LinuxAMD64CFrame.java has the same comment.
>> 
>> Looks like we do mean to have this check twice here in LinuxAARCH64CFrame.
>> If we don't find senderDWARF for senderPC or senderPC-1, we return a 
>> LinuxAARCH64CFrame based on senderPC IF is a signal trampoline.
>> This one is new compared to LinuxAMD64CFrame.java and looks reasonable.
>
>> Is this "We can use the caller frame if it is a signal trampoline." ?
> 
> Yes.
> Signal trampoline is special frame, so we can set sender PC/SP/FP straightly 
> without DWARF.
> 
>> Looks like we do mean to have this check twice here in LinuxAARCH64CFrame.
> 
> As I commented, vdso.so on AArch64 Linux might not have `.eh_frame`, then 
> DWARF parser would fail. Thus I added signal trampoline check in L160.

Thanks.
I was thinking if we should make them the same but yes we expect eh_frame on 
x64 as I understand, and not on aarch64, and this should be reliable.

These sender methods are similar so it's good to clarify why they are different.
I understand this comment now, I thought it was more general:
// DWARF processing might be fail because vdso.so does not have .eh_frame .

Could it be more specific like:
// DWARF processing might fail because vdso.so .eh_frame is not required on 
aarch64

(not "be fail")

Can you make all 3 comments say "We can use the caller frame.." and then I 
think you should integrate if no other problems!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29731#discussion_r3051158581

Reply via email to