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

Roman Kennke rkennke at openjdk.org
Thu Apr 3 12:46:42 UTC 2025


> Like #24098, but clears the BasicLock cache before calling inflate_and_enter().
> 
> 
> diff --git a/src/hotspot/share/runtime/deoptimization.cpp b/src/hotspot/share/runtime/deoptimization.cpp
> index f7e0844639b..f17c46fea38 100644
> --- a/src/hotspot/share/runtime/deoptimization.cpp
> +++ b/src/hotspot/share/runtime/deoptimization.cpp
> @@ -1667,6 +1667,9 @@ bool Deoptimization::relock_objects(JavaThread* thread, GrowableArray<MonitorInf
>            // was fast_locked to restore the valid lock stack.
>            ObjectSynchronizer::enter_for(obj, lock, deoptee_thread);
>            if (deoptee_thread->lock_stack().contains(obj())) {
> +            if (UseObjectMonitorTable) {
> +              lock->clear_object_monitor_cache();
> +            }
>              LightweightSynchronizer::inflate_fast_locked_object(obj(), ObjectSynchronizer::InflateCause::inflate_cause_vm_internal,
>                                                                  deoptee_thread, thread);
>            }

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

  Clear cache before enter_for()

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24413/files
  - new: https://git.openjdk.org/jdk/pull/24413/files/a83a451e..9073a18c

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

  Stats: 6 lines in 1 file changed: 3 ins; 3 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/24413.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24413/head:pull/24413

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


More information about the hotspot-dev mailing list