6916062: assert(_inserts <= _insert_limit,"hash table overflow") in NodeHash::hash_insert

Missing check for not empty worklist when puting memory node back on worklist and expecting address type update.

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2010-09-30 18:31:45 -07:00
parent 8309071a08
commit 7cc55737b6
2 changed files with 25 additions and 1 deletions

View file

@ -256,7 +256,8 @@ Node *MemNode::Ideal_common(PhaseGVN *phase, bool can_reshape) {
if( t_adr == Type::TOP ) return NodeSentinel; // caller will return NULL
if( can_reshape && igvn != NULL &&
(igvn->_worklist.member(address) || phase->type(address) != adr_type()) ) {
(igvn->_worklist.member(address) ||
igvn->_worklist.size() > 0 && (phase->type(address) != adr_type())) ) {
// The address's base and type may change when the address is processed.
// Delay this mem node transformation until the address is processed.
phase->is_IterGVN()->_worklist.push(this);