RFR: 8349764: RISC-V: C1: Improve Class.isInstance intrinsic
Gui Cao
gcao at openjdk.org
Tue Feb 11 07:34:41 UTC 2025
Follow this patch https://github.com/openjdk/jdk/pull/22491, RISC-V implementation for Class.isInstance intrinsic.
### JMH numbers (tested on milkv megrez with hotspot client build):
#### before this patch:
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 48.589 ± 0.981 ns/op
SecondarySupersLookup.testNegative01 avgt 15 48.577 ± 0.297 ns/op
SecondarySupersLookup.testNegative02 avgt 15 48.760 ± 0.740 ns/op
SecondarySupersLookup.testNegative03 avgt 15 48.442 ± 0.029 ns/op
SecondarySupersLookup.testNegative04 avgt 15 48.453 ± 0.095 ns/op
SecondarySupersLookup.testNegative05 avgt 15 48.435 ± 0.025 ns/op
SecondarySupersLookup.testNegative06 avgt 15 48.540 ± 0.476 ns/op
SecondarySupersLookup.testNegative07 avgt 15 48.452 ± 0.032 ns/op
SecondarySupersLookup.testNegative08 avgt 15 48.466 ± 0.034 ns/op
SecondarySupersLookup.testNegative09 avgt 15 48.478 ± 0.132 ns/op
SecondarySupersLookup.testNegative10 avgt 15 48.435 ± 0.032 ns/op
SecondarySupersLookup.testNegative16 avgt 15 48.440 ± 0.027 ns/op
SecondarySupersLookup.testNegative20 avgt 15 47.977 ± 0.989 ns/op
SecondarySupersLookup.testNegative30 avgt 15 48.655 ± 0.487 ns/op
SecondarySupersLookup.testNegative32 avgt 15 48.566 ± 0.251 ns/op
SecondarySupersLookup.testNegative40 avgt 15 48.513 ± 0.196 ns/op
SecondarySupersLookup.testNegative50 avgt 15 48.454 ± 0.075 ns/op
SecondarySupersLookup.testNegative55 avgt 15 71.670 ± 1.632 ns/op
SecondarySupersLookup.testNegative56 avgt 15 70.923 ± 1.679 ns/op
SecondarySupersLookup.testNegative57 avgt 15 70.140 ± 0.048 ns/op
SecondarySupersLookup.testNegative58 avgt 15 70.473 ± 0.726 ns/op
SecondarySupersLookup.testNegative59 avgt 15 70.127 ± 0.022 ns/op
SecondarySupersLookup.testNegative60 avgt 15 82.525 ± 1.178 ns/op
SecondarySupersLookup.testNegative61 avgt 15 81.647 ± 0.758 ns/op
SecondarySupersLookup.testNegative62 avgt 15 82.347 ± 1.943 ns/op
SecondarySupersLookup.testNegative63 avgt 15 129.188 ± 1.550 ns/op
SecondarySupersLookup.testNegative64 avgt 15 130.274 ± 1.668 ns/op
SecondarySupersLookup.testPositive01 avgt 15 63.390 ± 0.222 ns/op
SecondarySupersLookup.testPositive02 avgt 15 63.435 ± 0.027 ns/op
SecondarySupersLookup.testPositive03 avgt 15 63.469 ± 0.080 ns/op
SecondarySupersLookup.testPositive04 avgt 15 63.896 ± 1.008 ns/op
SecondarySupersLookup.testPositive05 avgt 15 63.457 ± 0.035 ns/op
SecondarySupersLookup.testPositive06 avgt 15 63.235 ± 0.261 ns/op
SecondarySupersLookup.testPositive07 avgt 15 63.455 ± 0.022 ns/op
SecondarySupersLookup.testPositive08 avgt 15 63.672 ± 0.480 ns/op
SecondarySupersLookup.testPositive09 avgt 15 63.458 ± 0.028 ns/op
SecondarySupersLookup.testPositive10 avgt 15 63.365 ± 0.220 ns/op
SecondarySupersLookup.testPositive16 avgt 15 63.279 ± 0.278 ns/op
SecondarySupersLookup.testPositive20 avgt 15 63.239 ± 0.309 ns/op
SecondarySupersLookup.testPositive30 avgt 15 63.357 ± 0.238 ns/op
SecondarySupersLookup.testPositive32 avgt 15 63.902 ± 0.981 ns/op
SecondarySupersLookup.testPositive40 avgt 15 61.624 ± 1.551 ns/op
SecondarySupersLookup.testPositive50 avgt 15 63.347 ± 0.217 ns/op
SecondarySupersLookup.testPositive60 avgt 15 61.963 ± 0.848 ns/op
SecondarySupersLookup.testPositive63 avgt 15 114.361 ± 1.086 ns/op
SecondarySupersLookup.testPositive64 avgt 15 129.291 ± 0.228 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
#### apply this patch:
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 29.739 ± 1.085 ns/op
SecondarySupersLookup.testNegative01 avgt 15 29.377 ± 0.704 ns/op
SecondarySupersLookup.testNegative02 avgt 15 30.091 ± 0.994 ns/op
SecondarySupersLookup.testNegative03 avgt 15 30.293 ± 0.743 ns/op
SecondarySupersLookup.testNegative04 avgt 15 30.305 ± 0.750 ns/op
SecondarySupersLookup.testNegative05 avgt 15 31.173 ± 1.826 ns/op
SecondarySupersLookup.testNegative06 avgt 15 30.355 ± 1.294 ns/op
SecondarySupersLookup.testNegative07 avgt 15 29.967 ± 1.481 ns/op
SecondarySupersLookup.testNegative08 avgt 15 30.003 ± 0.914 ns/op
SecondarySupersLookup.testNegative09 avgt 15 29.869 ± 0.947 ns/op
SecondarySupersLookup.testNegative10 avgt 15 29.764 ± 0.807 ns/op
SecondarySupersLookup.testNegative16 avgt 15 29.849 ± 0.922 ns/op
SecondarySupersLookup.testNegative20 avgt 15 29.331 ± 0.775 ns/op
SecondarySupersLookup.testNegative30 avgt 15 29.624 ± 0.894 ns/op
SecondarySupersLookup.testNegative32 avgt 15 29.981 ± 0.897 ns/op
SecondarySupersLookup.testNegative40 avgt 15 30.317 ± 1.399 ns/op
SecondarySupersLookup.testNegative50 avgt 15 30.643 ± 0.046 ns/op
SecondarySupersLookup.testNegative55 avgt 15 39.532 ± 1.233 ns/op
SecondarySupersLookup.testNegative56 avgt 15 39.051 ± 0.195 ns/op
SecondarySupersLookup.testNegative57 avgt 15 40.058 ± 1.319 ns/op
SecondarySupersLookup.testNegative58 avgt 15 39.070 ± 0.112 ns/op
SecondarySupersLookup.testNegative59 avgt 15 39.045 ± 0.101 ns/op
SecondarySupersLookup.testNegative60 avgt 15 47.358 ± 0.047 ns/op
SecondarySupersLookup.testNegative61 avgt 15 48.375 ± 1.612 ns/op
SecondarySupersLookup.testNegative62 avgt 15 47.392 ± 0.107 ns/op
SecondarySupersLookup.testNegative63 avgt 15 102.903 ± 0.471 ns/op
SecondarySupersLookup.testNegative64 avgt 15 103.617 ± 0.071 ns/op
SecondarySupersLookup.testPositive01 avgt 15 39.182 ± 0.305 ns/op
SecondarySupersLookup.testPositive02 avgt 15 39.161 ± 0.313 ns/op
SecondarySupersLookup.testPositive03 avgt 15 39.292 ± 0.304 ns/op
SecondarySupersLookup.testPositive04 avgt 15 38.955 ± 0.394 ns/op
SecondarySupersLookup.testPositive05 avgt 15 39.074 ± 0.242 ns/op
SecondarySupersLookup.testPositive06 avgt 15 39.411 ± 0.979 ns/op
SecondarySupersLookup.testPositive07 avgt 15 38.907 ± 0.945 ns/op
SecondarySupersLookup.testPositive08 avgt 15 38.956 ± 0.013 ns/op
SecondarySupersLookup.testPositive09 avgt 15 38.843 ± 0.242 ns/op
SecondarySupersLookup.testPositive10 avgt 15 38.763 ± 0.276 ns/op
SecondarySupersLookup.testPositive16 avgt 15 39.396 ± 0.476 ns/op
SecondarySupersLookup.testPositive20 avgt 15 39.187 ± 0.291 ns/op
SecondarySupersLookup.testPositive30 avgt 15 39.056 ± 0.242 ns/op
SecondarySupersLookup.testPositive32 avgt 15 39.180 ± 0.305 ns/op
SecondarySupersLookup.testPositive40 avgt 15 38.521 ± 0.255 ns/op
SecondarySupersLookup.testPositive50 avgt 15 38.957 ± 0.007 ns/op
SecondarySupersLookup.testPositive60 avgt 15 38.415 ± 0.020 ns/op
SecondarySupersLookup.testPositive63 avgt 15 88.788 ± 1.223 ns/op
SecondarySupersLookup.testPositive64 avgt 15 104.534 ± 1.687 ns/op
### Testing
- [x] Run tier1-3 tests on SOPHON SG2042 (release)
- [x] Run tier1-3 tests on MILK-V MEGREZ (release)
-------------
Commit messages:
- Polishing
- RISC-V: C1: Improve Class.isInstance intrinsic
Changes: https://git.openjdk.org/jdk/pull/23551/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23551&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8349764
Stats: 46 lines in 2 files changed: 45 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/23551.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23551/head:pull/23551
PR: https://git.openjdk.org/jdk/pull/23551
More information about the hotspot-compiler-dev
mailing list