1.1 --- a/src/share/vm/opto/cfgnode.cpp Wed Sep 17 08:29:17 2008 -0700 1.2 +++ b/src/share/vm/opto/cfgnode.cpp Wed Sep 17 12:59:52 2008 -0700 1.3 @@ -1665,7 +1665,11 @@ 1.4 // compress paths and change unreachable cycles to TOP 1.5 // If not, we can update the input infinitely along a MergeMem cycle 1.6 // Equivalent code is in MemNode::Ideal_common 1.7 - Node *m = phase->transform(n); 1.8 + Node *m = phase->transform(n); 1.9 + if (outcnt() == 0) { // Above transform() may kill us! 1.10 + progress = phase->C->top(); 1.11 + break; 1.12 + } 1.13 // If tranformed to a MergeMem, get the desired slice 1.14 // Otherwise the returned node represents memory for every slice 1.15 Node *new_mem = (m->is_MergeMem()) ?