RFR: Remove is_owning_locks() call from freeze slow path
Patricio Chilano Mateo
pchilanomate at openjdk.java.net
Wed Apr 20 17:14:51 UTC 2022
On Wed, 20 Apr 2022 12:47:02 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> The call to is_owning_locks() on each frame when we recurse on freeze can be removed. Instead we can check _held_monitor_count once at the beginning on freeze_internal().
>>
>> Tested locally by running all tests in test/jdk/java/lang/Thread/virtual/ and jdk/jdk/internal/vm/Continuation/, and in mach5 tiers loom-tier1, loom-tier2 and loom-tier3.
>>
>> Thanks,
>> Patricio
>
> src/hotspot/share/runtime/continuationFreezeThaw.cpp line 1112:
>
>> 1110: return freeze_pinned_native;
>> 1111: }
>> 1112: if (UNLIKELY(ContinuationHelper::CompiledFrame::is_owning_locks(_cont.thread(), &map, senderf))) {
>
> Are there still other calls to is_owning_locks or can it be removed?
Yes, it's also called for CONT_isPinned0. It can be removed too now that I look at it.
-------------
PR: https://git.openjdk.java.net/loom/pull/155
More information about the loom-dev
mailing list