mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
6682236: C2 hits ideal nodes limit during IGVN optimization with EA
Missing check in LoadNode::Ideal() causes infinite generation of a value Phi. Reviewed-by: jrose, never
This commit is contained in:
parent
1a350ad182
commit
833746644c
1 changed files with 6 additions and 0 deletions
|
@ -1122,6 +1122,12 @@ Node *LoadNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
|||
}
|
||||
// Split through Phi (see original code in loopopts.cpp).
|
||||
assert(phase->C->have_alias_type(addr_t), "instance should have alias type");
|
||||
|
||||
// Do nothing here if Identity will find a value
|
||||
// (to avoid infinite chain of value phis generation).
|
||||
if ( !phase->eqv(this, this->Identity(phase)) )
|
||||
return NULL;
|
||||
|
||||
const Type* this_type = this->bottom_type();
|
||||
int this_index = phase->C->get_alias_index(addr_t);
|
||||
int this_offset = addr_t->offset();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue