comparison src/share/vm/opto/memnode.cpp @ 4064:670a74b863fc

7107042: assert(no_dead_loop) failed: dead loop detected Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA. Reviewed-by: never, twisti
author kvn
date Wed, 09 Nov 2011 07:25:51 -0800
parents a92cdbac8b9e
children 1bd45abaa507
comparison
equal deleted inserted replaced
4063:7e0e43cf86d6 4064:670a74b863fc
1419 return this; 1419 return this;
1420 } 1420 }
1421 const TypeOopPtr *t_oop = addr_t->isa_oopptr(); 1421 const TypeOopPtr *t_oop = addr_t->isa_oopptr();
1422 if (can_reshape && opt_mem->is_Phi() && 1422 if (can_reshape && opt_mem->is_Phi() &&
1423 (t_oop != NULL) && t_oop->is_known_instance_field()) { 1423 (t_oop != NULL) && t_oop->is_known_instance_field()) {
1424 PhaseIterGVN *igvn = phase->is_IterGVN();
1425 if (igvn != NULL && igvn->_worklist.member(opt_mem)) {
1426 // Delay this transformation until memory Phi is processed.
1427 phase->is_IterGVN()->_worklist.push(this);
1428 return NULL;
1429 }
1424 // Split instance field load through Phi. 1430 // Split instance field load through Phi.
1425 Node* result = split_through_phi(phase); 1431 Node* result = split_through_phi(phase);
1426 if (result != NULL) return result; 1432 if (result != NULL) return result;
1427 } 1433 }
1428 } 1434 }