On Mon, 13 Oct 2025 11:45:02 GMT, Ruben <[email protected]> wrote:

>> The C2 exception handler stub code is only a trampoline to the generated 
>> exception handler blob. This change removes the extra step on the way to the 
>> generated blob.
>> 
>> According to some comments in the source code, the exception handler stub 
>> code used to be patched upon deoptimization, however presumably these 
>> comments are outdated as the patching upon deoptimization happens for 
>> post-call NOPs only.
>
> Ruben has updated the pull request with a new target base due to a merge or a 
> rebase. The pull request now contains 10 commits:
> 
>  - Merge from the main branch
>  - Address review comments
>  - Address review comments
>  - Address review comments
>  - The patch is contributed by @TheRealMDoerr
>  - Offset the deoptimization handler entry point
>    
>    Change-Id: I596317ec6a364b341e4642636fa5cf08f87ed722
>  - Revert "Ensure stub code is not adjacent to a call"
>  - Ensure stub code is not adjacent to a call
>  - Address review comments
>  - 8365047: Remove exception handler stub code in C2
>    
>    The C2 exception handler stub code is only a trampoline to the
>    generated exception handler blob. This change removes the extra
>    step on the way to the generated blob.
>    
>    According to some comments in the source code, the exception handler
>    stub code used to be patched upon deoptimization, however presumably
>    these comments are outdated as the patching upon deoptimization happens
>    for post-call NOPs only.

Doh! Looking at the code properly this time it actually calls `far_jump` but, 
of course it should really be `far_call` (the C2 version was changed 
correctly). I believe that's the cause of the error (although it doesn't 
explain why the value in `lr` was the address after the nmethod tail).

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

PR Comment: https://git.openjdk.org/jdk/pull/26678#issuecomment-3421306619

Reply via email to