1.1 --- a/src/share/vm/opto/lcm.cpp Tue Nov 27 12:48:52 2012 -0800 1.2 +++ b/src/share/vm/opto/lcm.cpp Tue Nov 27 17:24:15 2012 -0800 1.3 @@ -1006,7 +1006,7 @@ 1.4 //------------------------------call_catch_cleanup----------------------------- 1.5 // If we inserted any instructions between a Call and his CatchNode, 1.6 // clone the instructions on all paths below the Catch. 1.7 -void Block::call_catch_cleanup(Block_Array &bbs) { 1.8 +void Block::call_catch_cleanup(Block_Array &bbs, Compile* C) { 1.9 1.10 // End of region to clone 1.11 uint end = end_idx(); 1.12 @@ -1068,7 +1068,7 @@ 1.13 1.14 // Remove the now-dead cloned ops 1.15 for(uint i3 = beg; i3 < end; i3++ ) { 1.16 - _nodes[beg]->disconnect_inputs(NULL); 1.17 + _nodes[beg]->disconnect_inputs(NULL, C); 1.18 _nodes.remove(beg); 1.19 } 1.20 1.21 @@ -1081,7 +1081,7 @@ 1.22 Node *n = sb->_nodes[j]; 1.23 if (n->outcnt() == 0 && 1.24 (!n->is_Proj() || n->as_Proj()->in(0)->outcnt() == 1) ){ 1.25 - n->disconnect_inputs(NULL); 1.26 + n->disconnect_inputs(NULL, C); 1.27 sb->_nodes.remove(j); 1.28 new_cnt--; 1.29 }