-
Bug
-
Resolution: Fixed
-
P3
-
11, 17, 20
-
b18
-
ppc
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8295733 | 17.0.6 | Martin Doerr | P3 | Resolved | Fixed | b01 |
JDK-8294846 | 11.0.18 | Martin Doerr | P3 | Resolved | Fixed | b01 |
# Internal Error (/src/hotspot/share/opto/output.cpp:941)
# assert(t->base() == Type::Int || t->base() == Type::Half || t->base() == Type::FloatCon || t->base() == Type::FloatBot) failed: Unexpected type: inst:
Debugging shows that the C2's decodeN_mergeDisjointNode misses a set_oop call which causes the issue.
The usage in decodeN_Disjoint_isel_Ex is not problematic because it is only inserted in the middle of a postalloc_expand sequence. But, the usage in decodeN_Disjoint_notNull_Ex should get fixed because it produces an oop at the end of the postalloc_expand sequence.
- backported by
-
JDK-8294846 [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
-
- Resolved
-
-
JDK-8295733 [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
-
- Resolved
-
- relates to
-
JDK-8293844 C2: Verify Location::{oop,normal} types in PhaseOutput::FillLocArray
-
- Resolved
-
- links to
-
Commit openjdk/jdk11u-dev/f8e71f81
-
Commit openjdk/jdk17u-dev/feb6b3cf
-
Commit openjdk/jdk/f03934e2
-
Review openjdk/jdk11u-dev/1389
-
Review openjdk/jdk17u-dev/769
-
Review openjdk/jdk/10484