RFR: Remove is_owning_locks() call from freeze slow path

Coleen Phillimore coleenp at openjdk.java.net
Wed Apr 20 12:50:53 UTC 2022


On Mon, 18 Apr 2022 16:18:54 GMT, Patricio Chilano Mateo <pchilanomate 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

Looks good, 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?

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

Marked as reviewed by coleenp (Committer).

PR: https://git.openjdk.java.net/loom/pull/155


More information about the loom-dev mailing list