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
