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