Integrated: 8349727: [PPC] C1: Improve Class.isInstance intrinsic
Martin Doerr
mdoerr at openjdk.org
Thu Feb 20 12:06:02 UTC 2025
On Wed, 12 Feb 2025 21:01:59 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
> PPC64 implementation of [JDK-8337251](https://bugs.openjdk.org/browse/JDK-8337251).
> The new runtime stub is called like a C function. The initial version therefore used a `FunctionDescriptor` with relocation on PPC64 with ABIv1. I've changed that with the 3rd Commit. `rt_call` jumps directly to the entry point, now.
>
> Performance measured on Power10: `make run-test TEST="micro:SecondarySupersLookup" MICRO="VM_OPTIONS=-XX:TieredStopAtLevel=1"`
>
> Before this patch (C code)
>
> Benchmark Mode Cnt Score Error Units
> SecondarySupersLookup.testNegative00 avgt 15 18.570 ± 0.009 ns/op
> ...
> SecondarySupersLookup.testNegative30 avgt 15 18.566 ± 0.002 ns/op
> SecondarySupersLookup.testNegative32 avgt 15 19.177 ± 1.347 ns/op
> SecondarySupersLookup.testNegative40 avgt 15 18.569 ± 0.006 ns/op
> SecondarySupersLookup.testNegative50 avgt 15 19.207 ± 1.334 ns/op
> SecondarySupersLookup.testNegative55 avgt 15 19.708 ± 1.338 ns/op
> SecondarySupersLookup.testNegative56 avgt 15 19.132 ± 0.137 ns/op
> SecondarySupersLookup.testNegative57 avgt 15 19.133 ± 0.134 ns/op
> SecondarySupersLookup.testNegative58 avgt 15 19.772 ± 1.316 ns/op
> SecondarySupersLookup.testNegative59 avgt 15 19.109 ± 0.014 ns/op
> SecondarySupersLookup.testNegative60 avgt 15 22.381 ± 0.016 ns/op
> SecondarySupersLookup.testNegative61 avgt 15 22.331 ± 0.011 ns/op
> SecondarySupersLookup.testNegative62 avgt 15 22.352 ± 0.029 ns/op
> SecondarySupersLookup.testNegative63 avgt 15 30.371 ± 0.031 ns/op
> SecondarySupersLookup.testNegative64 avgt 15 29.927 ± 0.221 ns/op
> SecondarySupersLookup.testPositive01 avgt 15 18.571 ± 0.006 ns/op
> ...
> SecondarySupersLookup.testPositive09 avgt 15 18.599 ± 0.140 ns/op
> SecondarySupersLookup.testPositive10 avgt 15 19.210 ± 1.332 ns/op
> SecondarySupersLookup.testPositive16 avgt 15 18.603 ± 0.142 ns/op
> SecondarySupersLookup.testPositive20 avgt 15 19.210 ± 1.333 ns/op
> SecondarySupersLookup.testPositive30 avgt 15 18.600 ± 0.140 ns/op
> SecondarySupersLookup.testPositive32 avgt 15 18.637 ± 0.189 ns/op
> SecondarySupersLookup.testPositive40 avgt 15 19.137 ± 0.190 ns/op
> SecondarySupersLookup.testPositive50 avgt 15 18.567 ± 0.002 ns/op
> SecondarySupersLookup.testPositive60 avgt 15 19.069 ± 0.004 ns/op
> SecondarySupersLookup.testPositive63 avgt 15 26.024 ± 0.017 ns/op
> SecondarySupersLookup.testPositive64 avgt 15 29.932 ± 1.002 ns/op
>
>
> After this patch (assemble...
This pull request has now been integrated.
Changeset: 735805d9
Author: Martin Doerr <mdoerr at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/735805d9259037ae594eb4f75e96860d43feea5d
Stats: 105 lines in 4 files changed: 82 ins; 10 del; 13 mod
8349727: [PPC] C1: Improve Class.isInstance intrinsic
Reviewed-by: rrich, varadam
-------------
PR: https://git.openjdk.org/jdk/pull/23602
More information about the hotspot-compiler-dev
mailing list