mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-13 20:05:31 +00:00
8233820: Test crashed with assert(phi->operand_count() != 1 || phi->subst() != phi) failed: missed trivial simplification
Verification code needs to skip illegal phi functions. Reviewed-by: thartmann, vlivanov
This commit is contained in:
parent
d948bfd584
commit
7c242c709d
@ -2590,7 +2590,7 @@ void PhiSimplifier::block_do(BlockBegin* b) {
|
||||
|
||||
#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();
|
||||
|
||||
@ -366,6 +366,8 @@ class BlockMerger: public BlockClosure {
|
||||
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");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user