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

Coleen Phillimore coleenp at openjdk.org
Thu Apr 3 15:49:08 UTC 2025


On Thu, 3 Apr 2025 12:46:42 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> 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()

Our internal tier1-4 tests passed.

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

PR Comment: https://git.openjdk.org/jdk/pull/24413#issuecomment-2776233828


More information about the hotspot-dev mailing list