RFR: 8286957: Held monitor count [v2]

Robbin Ehn rehn at openjdk.org
Thu Jun 23 09:42:24 UTC 2022


> The current implementation do not count all monitor enter, counts high up in abstraction and causes a performance regression on aarch64 with some benchmarks due to C2 changes.
> 
> This change makes the counting exact by pushing the counting down in the abstraction.
> The additional JNI counter is strictly not needed, but enables us to figure out if we have monitors "on stack".
> 
> An uncontended lock plus unlock is 1 ns (21.5 -> 22.5) slower in C2 compiled code on x64 with the additional increment and decrement.
> 
> Fixed aarch64, x64, x86 and zero.
> 
> Passes t1-8

Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:

 - Merge branch 'master' into held-mon-count
 - 8286957 - PR Baseline

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

Changes: https://git.openjdk.org/jdk/pull/8945/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=8945&range=01
  Stats: 517 lines in 43 files changed: 301 ins; 143 del; 73 mod
  Patch: https://git.openjdk.org/jdk/pull/8945.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/8945/head:pull/8945

PR: https://git.openjdk.org/jdk/pull/8945


More information about the hotspot-dev mailing list