src/share/vm/opto/node.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/node.cpp	Fri May 23 16:33:50 2014
--- new/src/share/vm/opto/node.cpp	Fri May 23 16:33:50 2014

*** 533,542 **** --- 533,545 ---- } // cloning CallNode may need to clone JVMState if (n->is_Call()) { n->as_Call()->clone_jvms(C); } + if (n->is_SafePoint()) { + n->as_SafePoint()->clone_replaced_nodes(); + } return n; // Return the clone } //---------------------------setup_is_top-------------------------------------- // Call this when changing the top node, to reassert the invariants
*** 628,637 **** --- 631,643 ---- compile->remove_macro_node(this); } if (is_expensive()) { compile->remove_expensive_node(this); } + if (is_SafePoint()) { + as_SafePoint()->delete_replaced_nodes(); + } #ifdef ASSERT // We will not actually delete the storage, but we'll make the node unusable. *(address*)this = badAddress; // smash the C++ vtbl, probably _in = _out = (Node**) badAddress; _max = _cnt = _outmax = _outcnt = 0;

src/share/vm/opto/node.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File