Integrated: 8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic

Olga Mikhaltsova omikhaltcova at openjdk.org
Thu Nov 30 08:18:15 UTC 2023


On Fri, 24 Nov 2023 12:19:44 GMT, Olga Mikhaltsova <omikhaltcova at openjdk.org> wrote:

> Please, review addition of the ensureMaterializedForStackWalk C2 intrinsic for RISC-V. 
> It's implemented by analogy to AArch64 and x86_64 [1].
> 
> 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  873.072  12.051  ns/op
> ScopedValues.bindThenGetNoRemove_ThreadLocal          avgt   10   55.507  18.006  ns/op
> ScopedValues.bindThenGetThenRemove_ScopedValue        avgt   10  758.185  14.585  ns/op
> ScopedValues.bindThenGetThenRemove_ThreadLocal        avgt   10  922.742   9.597  ns/op
> ScopedValues.bindViaGet_ScopedValue                   avgt   10  603.164  13.694  ns/op
> ScopedValues.bind_ScopedValue                         avgt   10  557.377   9.591  ns/op
> ScopedValues.bind_ThreadLocal                         avgt   10  854.636  17.014  ns/op
> ScopedValues.counter_ScopedValue                      avgt   10   35.367   0.421  ns/op
> ScopedValues.counter_ThreadLocal                      avgt   10   45.345   0.283  ns/op
> ScopedValues.setNoRemove_ScopedValue                  avgt   10   39.838   0.432  ns/op
> ScopedValues.setNoRemove_ThreadLocal                  avgt   10   44.769   0.404  ns/op
> ScopedValues.sixValues_ScopedValue                    avgt   10    2.566   0.006  us/op
> ScopedValues.sixValues_ThreadLocal                    avgt   10    9.067   0.020  us/op
> ScopedValues.thousandAdds_ScopedValue                 avgt   10    0.158   0.004  us/op
> ScopedValues.thousandAdds_ThreadLocal                 avgt   10    9.662   0.019  us/op
> ScopedValues.thousandIsBoundQueries                   avgt   10   31.203   0.451  ns/op
> ScopedValues.thousandMaybeGets                        avgt   10  156.356   4.469  ns/op
> 
> **After**
> 
> Benchmark                                             Mode  Cnt    Score    Error  Units
> ScopedValues.CreateBindThenGetThenRemove_ScopedValue  avgt   10  367.616   4.382  ns/op
> ScopedValues.bindThenGetNoRemove_ThreadLocal          avgt   10   55.935  18.048  ns/op
> ScopedValues.bindThenGetThenRemove_ScopedValue        avgt   10  371.733   2.835  ns/op
> ScopedValues.bindThenGetThenRemove_ThreadLocal        avgt   10  902.112  12.709  ns/op
> ScopedValues.bindViaGet_ScopedValue                   avgt   10  158.404   2.920  ns/op
> ScopedValues.bind_ScopedValue                         avgt   10  158.365   2.328  ns/op
> ScopedValues.bind_ThreadLocal              ...

This pull request has now been integrated.

Changeset: d6b4aa01
Author:    Olga Mikhaltsova <omikhaltcova at openjdk.org>
Committer: Vladimir Kempik <vkempik at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/d6b4aa01a20eb7ecd44602a9fab3e3380bff3d3a
Stats:     5 lines in 1 file changed: 5 ins; 0 del; 0 mod

8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic

Reviewed-by: fyang

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

PR: https://git.openjdk.org/jdk/pull/16808


More information about the hotspot-compiler-dev mailing list