src/share/vm/opto/phaseX.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/phaseX.cpp Mon Aug 17 10:02:29 2009
--- new/src/share/vm/opto/phaseX.cpp Mon Aug 17 10:02:29 2009
*** 1620,1632 ****
--- 1620,1634 ----
set_req(i, n);
// old goes dead?
if( old ) {
switch (old->outcnt()) {
- case 0: // Kill all his inputs, and recursively kill other dead nodes.
+ // Put into the worklist to kill later. We do not kill it now because the
+ // recursive kill will delete the current node (this) if dead-loop exists
if (!old->is_top())
! igvn->remove_dead_node( old );
! igvn->_worklist.push( old );
break;
case 1:
if( old->is_Store() || old->has_special_unique_user() )
igvn->add_users_to_worklist( old );
break;
src/share/vm/opto/phaseX.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File