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