On Tue, 3 Nov 2026 15:13:43 GMT, Martin Doerr <[email protected]> wrote:

>> Yasumasa Suenaga has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Add RISC-V change
>>   
>>   Contributed-by: @RealFYang
>
> Thanks for the ping! I couldn't see the error on linuxppc64le. Neither with 
> nor without the change. Should we change it for consistency reasons?
> 
> diff --git 
> a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ppc64/PPC64Frame.java
>  
> b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ppc64/PPC64Frame.java
> index a663d016011..bfb73d1fe50 100644
> --- 
> a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ppc64/PPC64Frame.java
> +++ 
> b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ppc64/PPC64Frame.java
> @@ -337,7 +337,25 @@ private Frame senderForInterpreterFrame(PPC64RegisterMap 
> map) {
>      Address unextendedSP = 
> addressOfStackSlot(INTERPRETER_FRAME_SENDER_SP_OFFSET).getAddressAt(0);
>      Address sp = getSenderSP();
>  
> -    return new PPC64Frame(sp, unextendedSP, getLink(), getSenderPC());
> +    Address senderPC = getSenderPC();
> +
> +    if (Continuation.isReturnBarrierEntry(senderPC)) {
> +      // We assume WalkContinuation is "WalkContinuation::skip".
> +      // It is same with c'tor arguments of RegisterMap in 
> frame::next_frame().
> +      //
> +      // frame::sender_for_interpreter_frame() in cpu/ppc/frame_ppc.cpp:
> +      //
> +      //   if (Continuation::is_return_barrier_entry(sender_pc)) {
> +      //     if (map->walk_cont()) { // about to walk into an h-stack
> +      //       return Continuation::top_frame(*this, map);
> +      //     } else {
> +      //       return 
> Continuation::continuation_bottom_sender(map->thread(), *this, sender_sp);
> +      //     }
> +      //   }
> +      return Continuation.continuationBottomSender(map.getThread(), this, 
> sp);
> +    }
> +
> +    return new PPC64Frame(sp, unextendedSP, getLink(), senderPC);
>    }
>  
>    private Frame senderForCompiledFrame(PPC64RegisterMap map, CodeBlob cb) {

Thanks a lot @TheRealMDoerr !
Yes, I think it is better to merge your patch for consistency. TBH I want to 
make change for both RISC-V and PPC64, but I have to exclude them because I 
could not evaluate the change on them. So I merged your change.

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

PR Comment: https://git.openjdk.org/jdk/pull/33656#issuecomment-6618501490

Reply via email to