Mercurial > hg > graal-compiler
diff src/share/vm/opto/node.cpp @ 20327:411e30e5fbb8
8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
author | roland |
---|---|
date | Wed, 13 Aug 2014 11:00:22 +0200 |
parents | 78bbf4d43a14 |
children | 91cb3b8aac2b |
line wrap: on
line diff
--- a/src/share/vm/opto/node.cpp Wed Apr 23 12:37:36 2014 +0200 +++ b/src/share/vm/opto/node.cpp Wed Aug 13 11:00:22 2014 +0200 @@ -527,6 +527,9 @@ 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 } @@ -622,6 +625,9 @@ 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