RFR: 8330253: Skip verify_consistent_lock_order when deoptimizing from monitorenter bytecode.

Dean Long dlong at openjdk.org
Tue Apr 16 02:53:59 UTC 2024


On Mon, 15 Apr 2024 09:15:44 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

> The verification added in [JDK-8329757](https://bugs.openjdk.org/browse/JDK-8329757) will not work then deoptimization occurs on a monitorenter bytecode. The locking may be in a transitional state. This patch will skip the verification when this occurs.
> 
> Currently have only seen this reproduce with JVMTI when deoptimization occurs while a java thread is waiting on a contended monitor. However this could potentially be triggered from a VM entry slow path, so simply checking `current_pending_monitor` could be flaky as well. So instead simply avoid verification.
> 
> Running JVMTI reproducer. Starting full testing soon.

Can you describe the transitional state this fix avoids, and why it only needs to deal with monitorenter from a synchronized method prologue, and not also monitorenter from synchronized blocks.

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

PR Comment: https://git.openjdk.org/jdk/pull/18782#issuecomment-2058136922


More information about the hotspot-dev mailing list