Integrated: Fix held_monitor_count calculation

Hui Shi hshi at openjdk.java.net
Tue Jun 15 14:03:44 UTC 2021


On Sat, 12 Jun 2021 00:26:56 GMT, Hui Shi <hshi at openjdk.org> wrote:

> Problem and fixes includes and we (Tencent team) would like to fixing further related issues.
> 
> - C1/C2 locking when deoptimize happen might lost counter inc.
>   -  increase held monitor count in JIT code slow path runtime method  (Runtime1::monitorenter/SharedRuntime::complete_monitor_locking_C_inc_held_monitor_count),
>   - JIT code only increases held monitor count for fastpath.
> - Deoptimization::relock_objects should update count in deoptee thread instead of current rhead.
> - Add missing dec_held_monitor_count in interpreter.
> - Enable assert ion in runtime dec_held_monitor_count and no assert triggers.
> - Assert when Thread assert held_monitor_count should be zero.
>    - No assertion happens with above fixes.

This pull request has now been integrated.

Changeset: 25952c22
Author:    Hui Shi <hshi at openjdk.org>
Committer: Rickard Bäckman <rbackman at openjdk.org>
URL:       https://git.openjdk.java.net/loom/commit/25952c22e82383e94d32fe11cbfc019dcb42ff75
Stats:     54 lines in 11 files changed: 36 ins; 11 del; 7 mod

Fix held_monitor_count calculation

Reviewed-by: rbackman, rpressler

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

PR: https://git.openjdk.java.net/loom/pull/47


More information about the loom-dev mailing list