525 } |
525 } |
526 // cloning CallNode may need to clone JVMState |
526 // cloning CallNode may need to clone JVMState |
527 if (n->is_Call()) { |
527 if (n->is_Call()) { |
528 n->as_Call()->clone_jvms(C); |
528 n->as_Call()->clone_jvms(C); |
529 } |
529 } |
|
530 if (n->is_SafePoint()) { |
|
531 n->as_SafePoint()->clone_replaced_nodes(); |
|
532 } |
530 return n; // Return the clone |
533 return n; // Return the clone |
531 } |
534 } |
532 |
535 |
533 //---------------------------setup_is_top-------------------------------------- |
536 //---------------------------setup_is_top-------------------------------------- |
534 // Call this when changing the top node, to reassert the invariants |
537 // Call this when changing the top node, to reassert the invariants |
619 if (is_macro()) { |
622 if (is_macro()) { |
620 compile->remove_macro_node(this); |
623 compile->remove_macro_node(this); |
621 } |
624 } |
622 if (is_expensive()) { |
625 if (is_expensive()) { |
623 compile->remove_expensive_node(this); |
626 compile->remove_expensive_node(this); |
|
627 } |
|
628 if (is_SafePoint()) { |
|
629 as_SafePoint()->delete_replaced_nodes(); |
624 } |
630 } |
625 #ifdef ASSERT |
631 #ifdef ASSERT |
626 // We will not actually delete the storage, but we'll make the node unusable. |
632 // We will not actually delete the storage, but we'll make the node unusable. |
627 *(address*)this = badAddress; // smash the C++ vtbl, probably |
633 *(address*)this = badAddress; // smash the C++ vtbl, probably |
628 _in = _out = (Node**) badAddress; |
634 _in = _out = (Node**) badAddress; |