RFR: 8365047: Remove exception handler stub code in C2 [v4]
Martin Doerr
mdoerr at openjdk.org
Mon Sep 15 10:29:20 UTC 2025
On Fri, 12 Sep 2025 16:36:56 GMT, Ruben <duke at openjdk.org> 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 incrementally with two additional commits since the last revision:
>
> - Offset the deoptimization handler entry point
>
> Change-Id: I596317ec6a364b341e4642636fa5cf08f87ed722
> - Revert "Ensure stub code is not adjacent to a call"
PPC64 is broken, now: assert(cb != nullptr) failed: must be
Stack: [0x00006702d7600000,0x00006702d7800000], sp=0x00006702d77f9800, free space=2022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x7a61d4] frame::setup(frame::kind)+0x4c4 (codeCache.inline.hpp:48)
V [libjvm.so+0x7a6c54] frame::sender(RegisterMap*) const+0x724 (frame_ppc.inline.hpp:102)
V [libjvm.so+0xb905a8] Deoptimization::fetch_unroll_info_helper(JavaThread*, int)+0x218 (deoptimization.cpp:501)
V [libjvm.so+0xb91ecc] Deoptimization::fetch_unroll_info(JavaThread*, int)+0x7c (deoptimization.cpp:297)
v ~DeoptimizationBlob 0x00006702cd110874
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26678#issuecomment-3291467814
More information about the hotspot-dev
mailing list