RFR: 8339114: DaCapo xalan performance with -XX:+UseObjectMonitorTable [v2]

Roman Kennke rkennke at openjdk.org
Wed Mar 26 07:24:50 UTC 2025


> - When successfully looked up an OM in the OMCache, then make it avaiable in the BasicLock cache. Use that cache whenever possible.
> - When successfully looked up an OM in the OMCache, then don't push-back the OM on that cache to avoid shuffling the cache on each monitor enter.
> - In the runtime path of monitorexit, attempt to use the BasicLock cache, then the OMCache, and only look up in the table when the caches failed.
> - Some small code shufflings.
> 
> I did 50 runs of xalan, each of which do 10 warmup iterations before doing one measurement. The following results are the averages of the measurement iterations across the 50 runs:
> without-OMT: 773.3 ms
> with-OMT: 797.28 ms
> 
> That is still a regression of ~3%

Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:

  Clear BasicLock OM cache when monitor is being deflated

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24098/files
  - new: https://git.openjdk.org/jdk/pull/24098/files/6407833c..15a54aa0

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24098&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24098&range=00-01

  Stats: 12 lines in 4 files changed: 6 ins; 0 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/24098.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24098/head:pull/24098

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


More information about the hotspot-runtime-dev mailing list