Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/node.cpp @ 23890:445941ba41c0 jdk8u92-b31
Merge
author | asaha |
---|---|
date | Thu, 31 Mar 2016 14:23:12 -0700 |
parents | 7c5babab479b 94ec11846b18 |
children | a96cf90239c6 |
line wrap: on
line diff
--- a/src/share/vm/opto/node.cpp Thu Mar 31 14:04:14 2016 -0700 +++ b/src/share/vm/opto/node.cpp Thu Mar 31 14:23:12 2016 -0700 @@ -521,6 +521,11 @@ C->add_macro_node(n); if (is_expensive()) C->add_expensive_node(n); + // If the cloned node is a range check dependent CastII, add it to the list. + CastIINode* cast = n->isa_CastII(); + if (cast != NULL && cast->has_range_check()) { + C->add_range_check_cast(cast); + } n->set_idx(C->next_unique()); // Get new unique index as well debug_only( n->verify_construction() ); @@ -649,6 +654,11 @@ if (is_expensive()) { compile->remove_expensive_node(this); } + CastIINode* cast = isa_CastII(); + if (cast != NULL && cast->has_range_check()) { + compile->remove_range_check_cast(cast); + } + if (is_SafePoint()) { as_SafePoint()->delete_replaced_nodes(); } @@ -1344,6 +1354,10 @@ if (dead->is_expensive()) { igvn->C->remove_expensive_node(dead); } + CastIINode* cast = dead->isa_CastII(); + if (cast != NULL && cast->has_range_check()) { + igvn->C->remove_range_check_cast(cast); + } igvn->C->record_dead_node(dead->_idx); // Kill all inputs to the dead guy for (uint i=0; i < dead->req(); i++) {