--- a/src/hotspot/share/c1/c1_GraphBuilder.cpp Tue Nov 12 10:18:11 2019 -0500
+++ b/src/hotspot/share/c1/c1_GraphBuilder.cpp Tue Nov 12 10:25:55 2019 -0500
@@ -2590,7 +2590,7 @@
#ifdef ASSERT
for_each_phi_fun(b, phi,
- assert(phi->operand_count() != 1 || phi->subst() != phi, "missed trivial simplification");
+ assert(phi->operand_count() != 1 || phi->subst() != phi || phi->is_illegal(), "missed trivial simplification");
);
ValueStack* state = b->state()->caller_state();
--- a/src/hotspot/share/c1/c1_Optimizer.cpp Tue Nov 12 10:18:11 2019 -0500
+++ b/src/hotspot/share/c1/c1_Optimizer.cpp Tue Nov 12 10:25:55 2019 -0500
@@ -366,6 +366,8 @@
assert(sux_value == end_state->stack_at(index), "stack not equal");
}
for_each_local_value(sux_state, index, sux_value) {
+ Phi* sux_phi = sux_value->as_Phi();
+ if (sux_phi != NULL && sux_phi->is_illegal()) continue;
assert(sux_value == end_state->local_at(index), "locals not equal");
}
assert(sux_state->caller_state() == end_state->caller_state(), "caller not equal");