--- a/hotspot/src/share/vm/opto/lcm.cpp Tue Nov 27 12:48:52 2012 -0800
+++ b/hotspot/src/share/vm/opto/lcm.cpp Tue Nov 27 17:24:15 2012 -0800
@@ -1006,7 +1006,7 @@
//------------------------------call_catch_cleanup-----------------------------
// If we inserted any instructions between a Call and his CatchNode,
// clone the instructions on all paths below the Catch.
-void Block::call_catch_cleanup(Block_Array &bbs) {
+void Block::call_catch_cleanup(Block_Array &bbs, Compile* C) {
// End of region to clone
uint end = end_idx();
@@ -1068,7 +1068,7 @@
// Remove the now-dead cloned ops
for(uint i3 = beg; i3 < end; i3++ ) {
- _nodes[beg]->disconnect_inputs(NULL);
+ _nodes[beg]->disconnect_inputs(NULL, C);
_nodes.remove(beg);
}
@@ -1081,7 +1081,7 @@
Node *n = sb->_nodes[j];
if (n->outcnt() == 0 &&
(!n->is_Proj() || n->as_Proj()->in(0)->outcnt() == 1) ){
- n->disconnect_inputs(NULL);
+ n->disconnect_inputs(NULL, C);
sb->_nodes.remove(j);
new_cnt--;
}