[jdk21u-dev] Integrated: 8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic
Olga Mikhaltsova
omikhaltcova at openjdk.org
Tue Jan 30 21:16:36 UTC 2024
On Mon, 29 Jan 2024 12:19:04 GMT, Olga Mikhaltsova <omikhaltcova at openjdk.org> wrote:
> Hi! I would like to backport [JDK-8318157](https://bugs.openjdk.org/browse/JDK-8318157) to jdk21u in order to improve performance via the ensureMaterializedForStackWalk C2 intrinsic. It's a clean backport related only to RISC-V.
> Tested: tier1 tests passed.
>
> The benchmark shows the following performance improvement on the T-Head RVB-ICE board:
> **Before**
>
> Benchmark Mode Cnt Score Error Units
> ScopedValues.CreateBindThenGetThenRemove_ScopedValue avgt 10 801.570 ± 40.067 ns/op
> ScopedValues.bindThenGetNoRemove_ThreadLocal avgt 10 47.918 ± 0.267 ns/op
> ScopedValues.bindThenGetThenRemove_ScopedValue avgt 10 733.398 ± 44.490 ns/op
> ScopedValues.bindThenGetThenRemove_ThreadLocal avgt 10 862.636 ± 12.210 ns/op
> ScopedValues.bindViaGet_ScopedValue avgt 10 551.035 ± 18.560 ns/op
> ScopedValues.bind_ScopedValue avgt 10 556.024 ± 21.099 ns/op
> ScopedValues.bind_ThreadLocal avgt 10 850.550 ± 17.945 ns/op
> ScopedValues.counter_ScopedValue avgt 10 35.339 ± 0.322 ns/op
> ScopedValues.counter_ThreadLocal avgt 10 43.619 ± 0.187 ns/op
> ScopedValues.setNoRemove_ScopedValue avgt 10 40.175 ± 0.259 ns/op
> ScopedValues.setNoRemove_ThreadLocal avgt 10 43.164 ± 0.343 ns/op
> ScopedValues.sixValues_ScopedValue avgt 10 2.550 ± 0.015 us/op
> ScopedValues.sixValues_ThreadLocal avgt 10 8.932 ± 0.019 us/op
> ScopedValues.thousandAdds_ScopedValue avgt 10 0.161 ± 0.004 us/op
> ScopedValues.thousandAdds_ThreadLocal avgt 10 9.649 ± 0.019 us/op
> ScopedValues.thousandIsBoundQueries avgt 10 32.859 ± 0.368 ns/op
> ScopedValues.thousandMaybeGets avgt 10 153.627 ± 3.627 ns/op
>
> **After**
>
> Benchmark Mode Cnt Score Error Units
> ScopedValues.CreateBindThenGetThenRemove_ScopedValue avgt 10 370.934 ± 5.118 ns/op
> ScopedValues.bindThenGetNoRemove_ThreadLocal avgt 10 48.777 ± 3.015 ns/op
> ScopedValues.bindThenGetThenRemove_ScopedValue avgt 10 317.331 ± 19.020 ns/op
> ScopedValues.bindThenGetThenRemove_ThreadLocal avgt 10 880.733 ± 56.253 ns/op
> ScopedValues.bindViaGet_ScopedValue avgt 10 159.534 ± 6.276 n...
This pull request has now been integrated.
Changeset: c971925a
Author: Olga Mikhaltsova <omikhaltcova at openjdk.org>
URL: https://git.openjdk.org/jdk21u-dev/commit/c971925a8713fe8d2ac1307bdc2ab745c1d704f9
Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod
8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic
Backport-of: d6b4aa01a20eb7ecd44602a9fab3e3380bff3d3a
-------------
PR: https://git.openjdk.org/jdk21u-dev/pull/224
More information about the jdk-updates-dev
mailing list