[riscv-port] RFR: 8277431: riscv: Intrinsify recursive ObjectMonitor locking for C2

Fei Yang fyang at openjdk.java.net
Tue Nov 23 12:18:26 UTC 2021

On Tue, 23 Nov 2021 07:02:33 GMT, Yadong Wang <yadongwang at openjdk.org> wrote:

> According to https://bugs.openjdk.java.net/browse/JDK-8277180, the C2 fast_lock and fast_unlock intrinsics don't support recursive ObjectMonitor locking. Some workload can significantly benefit from this. This fixes the problem on riscv.
> Tier1 tests of hotspot and jdk are passed on unmatched and all JTreg tests are tested on qemu without new failures.
> [The original performance regression after JDK-8253064](https://bugs.openjdk.java.net/browse/JDK-8263864) was resolved by this intrinsic. 
> The benchmark ran on unmatched:
> dacapo-9.12-MR1-bach.jar h2 -s huge -t 1 -n 1
> Non-intrisified recursive fast_lock/fast_unlock:
> ===== DaCapo 9.12-MR1 h2 PASSED in 2614652 msec =====
> Intrisified recursive fast_lock/fast_unlock:
> ===== DaCapo 9.12-MR1 h2 PASSED in 2027247 msec =====

The performance numbers looks great. Thanks.


Marked as reviewed by fyang (Lead).

PR: https://git.openjdk.java.net/riscv-port/pull/13

More information about the riscv-port-dev mailing list