RFR: 8267532: Try/catch block not optimized as expected [v3]
Tobias Hartmann
thartmann at openjdk.org
Mon Nov 6 08:14:15 UTC 2023
On Wed, 1 Nov 2023 13:58:49 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
>> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
>>
>> add some assertion to IR test that check for compilation and deoptimization
>
> src/hotspot/share/runtime/sharedRuntime.cpp line 681:
>
>> 679: // for given exception
>> 680: // Note that the implementation of this method assumes it's only called when an exception has actually occured
>> 681: address SharedRuntime::compute_compiled_exc_handler(CompiledMethod* cm, address ret_pc, Handle& exception,
>
> One thing of note for this function: We don't look up the exception handler bci for JVMCI compiled methods, so I've not added any profiling in the case of JVMCI (see the `#if INCLUDE_JVMCI` block at the start of the function).
>
> This means that when using a JVMCI compiler, exception handlers might appear as untaken, when they are actually taken. This should be fine since the profiling information is currently only used by C2. But, if a JVMCI compiler wants to start using the profiling information e.g. to prune dead exception handlers as well, then profiling needs to be implement first.
>
> Please let me know if this is okay.
I think that's fine (@dougxc, fyi).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16416#discussion_r1382907246
More information about the hotspot-dev
mailing list