RFR: 8339114: DaCapo xalan performance with -XX:+UseObjectMonitorTable
Roman Kennke
rkennke at openjdk.org
Mon Mar 24 11:18:54 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%
-------------
Commit messages:
- Use read_monitor(mark)
- Remove _hit variable
- 8339114: DaCapo xalan performance with -XX:+UseObjectMonitorTable
Changes: https://git.openjdk.org/jdk/pull/24098/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24098&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8339114
Stats: 52 lines in 6 files changed: 31 ins; 6 del; 15 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