diff --git a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp index a0c75665063..c621bc0d911 100644 --- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp @@ -1170,7 +1170,7 @@ static bool split_barrier_thru_phi(PhaseIdealLoop* phase, LoadBarrierNode* lb) { if (lb->in(LoadBarrierNode::Oop)->is_Phi()) { Node* oop_phi = lb->in(LoadBarrierNode::Oop); - if (oop_phi->in(2) == oop_phi) { + if ((oop_phi->req() != 3) || (oop_phi->in(2) == oop_phi)) { // Ignore phis with only one input return false; }