In some cases, for example when running tests with attached circularity.patch (TestNullableInlineTypes::test96 fails to compile), PhiNode::push_inline_types_through is invoked infinitely.
In the past, running the following tests also triggered similar issues:
TestLWorld -XX:+UseZGC -DScenarios=0 -DTest=test69
TestLWorld -XX:-TieredCompilation -XX:-DoEscapeAnalysis -XX:+AlwaysIncrementalInline
We need to re-design the optimization to make it more robust.
In addition, all code marked with "TODO 8302217" needs to be fixed.
The code that pushes casts through the InlineTypeNode should also be revisited (it also exists in ConstraintCastNode::Ideal). We currently clone the cast and use it to cast the oop input. That's not correct because the inline type might well be non-buffered in which cases the oop input is null and the cast will result in a top oop input.
In the past, running the following tests also triggered similar issues:
TestLWorld -XX:+UseZGC -DScenarios=0 -DTest=test69
TestLWorld -XX:-TieredCompilation -XX:-DoEscapeAnalysis -XX:+AlwaysIncrementalInline
We need to re-design the optimization to make it more robust.
In addition, all code marked with "TODO 8302217" needs to be fixed.
The code that pushes casts through the InlineTypeNode should also be revisited (it also exists in ConstraintCastNode::Ideal). We currently clone the cast and use it to cast the oop input. That's not correct because the inline type might well be non-buffered in which cases the oop input is null and the cast will result in a top oop input.
- duplicates
-
JDK-8275400 [lworld] "Phi not null but a possible null was seen" assert failures
-
- Closed
-
- relates to
-
JDK-8282616 [lworld] C2 does not properly handle circular .ref or value class fields
-
- Resolved
-
-
JDK-8315744 [lworld] SubTypeCheckNode::sub asserts with "should be not null"
-
- Resolved
-
-
JDK-8284443 [lworld] Part 2: Scalarization of nullable inline types in the calling convention
-
- Open
-
-
JDK-8325627 [lworld] C2 compilation bailout for TestNullableInlineTypes::test85
-
- Open
-