Integrated: 8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64

Erik Österlund eosterlund at openjdk.java.net
Thu Nov 18 14:47:47 UTC 2021


On Tue, 16 Nov 2021 08:58:49 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

> The C2 fast_lock and fast_unlock intrinsics don't support recursive ObjectMonitor locking. Some workloads can significantly benefit from this. Recent ObjectMonitor work has changed heuristics such that ObjectMonitors are deflated less aggressively. Therefore we can expect to see more inflated monitors in workloads where we would usually see more stack locks. That in itself is fine, except that C2 doesn't intrinsify the recursive locking paths for object monitors. Enabling those cases in the C2 code, removes a (~17%) regression we have seen with DaCapo h2 -t 1, and makes a few more benchmarks happy as well.

This pull request has now been integrated.

Changeset: d93b238f
Author:    Erik Österlund <eosterlund at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/d93b238f9725727ae1e2e9f203943b5ddf778f35
Stats:     44 lines in 2 files changed: 31 ins; 6 del; 7 mod

8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64

Reviewed-by: aph, ngasson

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

PR: https://git.openjdk.java.net/jdk/pull/6406


More information about the hotspot-compiler-dev mailing list