-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: repo-valhalla
-
Component/s: hotspot
acmp of value types from non-flattened arrays is 7x times slower than on flattened.
Benchmark Mode Cnt Score Error Units
o.o.b.v.a.array.Value032.branch_obj_equals025 avgt 5 4.647 ± 0.543 ns/op
o.o.b.v.a.array.Value032.branch_val_equals025 avgt 5 0.607 ± 0.030 ns/op
branch_val_equals025 - flattened array.
branch_obj_equals025 - non-flattened, runtime type of the array is "Object[]".
The reason:
33.71% Unknown, level 0 java.lang.invoke.MethodHandle::invokeBasic, version 1, compile id 550
32.54% C2, level 4 java.lang.runtime.ValueObjectMethods::isSubstitutable, version 4, compile id 953
8.08% C2, level 4 org.openjdk.bench.valhalla.acmp.array.Value032::cmp_branch_obj, version 3, compile id 923
3.67% C2, level 4 java.lang.invoke.LambdaForm$MH.0x000000007d08b400::invoke, version 2, compile id 922
Benchmark Mode Cnt Score Error Units
o.o.b.v.a.array.Value032.branch_obj_equals025 avgt 5 4.647 ± 0.543 ns/op
o.o.b.v.a.array.Value032.branch_val_equals025 avgt 5 0.607 ± 0.030 ns/op
branch_val_equals025 - flattened array.
branch_obj_equals025 - non-flattened, runtime type of the array is "Object[]".
The reason:
33.71% Unknown, level 0 java.lang.invoke.MethodHandle::invokeBasic, version 1, compile id 550
32.54% C2, level 4 java.lang.runtime.ValueObjectMethods::isSubstitutable, version 4, compile id 953
8.08% C2, level 4 org.openjdk.bench.valhalla.acmp.array.Value032::cmp_branch_obj, version 3, compile id 923
3.67% C2, level 4 java.lang.invoke.LambdaForm$MH.0x000000007d08b400::invoke, version 2, compile id 922
- relates to
-
JDK-8228361 [lworld] Optimize the substitutability check in C2
-
- Resolved
-
-
JDK-8368503 [lworld] Use profile information from (bimorphic) call site to optimize previous array load
-
- Open
-