On Wed, 11 Mar 2026 02:02:54 GMT, David Holmes <[email protected]> wrote:

>> Please review this change to fix GenerateOopMap to not report an unreachable 
>> bytecode for async exception handling and for the first bytecode in an 
>> exception catch clause.  The first change will generate a safepoint entry 
>> that doesn't allow async exceptions for bytecodes that cannot trap. The 
>> second change creates an exception edge for the first bytecode in an 
>> exception catch clause whether it can trap or not.
>> This also adds a GenerateOopMapALot at safeopints to test interpreter oopmap 
>> generation.  Tested JCKs with this option.
>> Thanks to @tkrodriguez for the kill003 test.
>> Also tested tier1-8.
>
> src/hotspot/share/oops/generateOopMap.cpp line 1219:
> 
>> 1217:         break;
>> 1218: 
>> 1219:       case Bytecodes::_monitorexit:
> 
> Drive-by comment, but with sync-on-value-based classes enabled then 
> `monitorenter` can also throw an exception. For that matter both monitor 
> bytecodes can throw on null oop.

That's OK.  This code is only excluding a monitorexit when there is a matching 
monitorenter.  The monitorenter is where the null pointer would be detected and 
is not excluded.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/30171#discussion_r2915739428

Reply via email to