equal
deleted
inserted
replaced
502 // If the cloned node is a range check dependent CastII, add it to the list. |
502 // If the cloned node is a range check dependent CastII, add it to the list. |
503 CastIINode* cast = n->isa_CastII(); |
503 CastIINode* cast = n->isa_CastII(); |
504 if (cast != NULL && cast->has_range_check()) { |
504 if (cast != NULL && cast->has_range_check()) { |
505 C->add_range_check_cast(cast); |
505 C->add_range_check_cast(cast); |
506 } |
506 } |
|
507 if (n->Opcode() == Op_Opaque4) { |
|
508 C->add_opaque4_node(n); |
|
509 } |
507 |
510 |
508 n->set_idx(C->next_unique()); // Get new unique index as well |
511 n->set_idx(C->next_unique()); // Get new unique index as well |
509 debug_only( n->verify_construction() ); |
512 debug_only( n->verify_construction() ); |
510 NOT_PRODUCT(nodes_created++); |
513 NOT_PRODUCT(nodes_created++); |
511 // Do not patch over the debug_idx of a clone, because it makes it |
514 // Do not patch over the debug_idx of a clone, because it makes it |
609 compile->remove_expensive_node(this); |
612 compile->remove_expensive_node(this); |
610 } |
613 } |
611 CastIINode* cast = isa_CastII(); |
614 CastIINode* cast = isa_CastII(); |
612 if (cast != NULL && cast->has_range_check()) { |
615 if (cast != NULL && cast->has_range_check()) { |
613 compile->remove_range_check_cast(cast); |
616 compile->remove_range_check_cast(cast); |
|
617 } |
|
618 if (Opcode() == Op_Opaque4) { |
|
619 compile->remove_opaque4_node(this); |
614 } |
620 } |
615 |
621 |
616 if (is_SafePoint()) { |
622 if (is_SafePoint()) { |
617 as_SafePoint()->delete_replaced_nodes(); |
623 as_SafePoint()->delete_replaced_nodes(); |
618 } |
624 } |
1350 } |
1356 } |
1351 CastIINode* cast = dead->isa_CastII(); |
1357 CastIINode* cast = dead->isa_CastII(); |
1352 if (cast != NULL && cast->has_range_check()) { |
1358 if (cast != NULL && cast->has_range_check()) { |
1353 igvn->C->remove_range_check_cast(cast); |
1359 igvn->C->remove_range_check_cast(cast); |
1354 } |
1360 } |
|
1361 if (dead->Opcode() == Op_Opaque4) { |
|
1362 igvn->C->remove_range_check_cast(dead); |
|
1363 } |
1355 igvn->C->record_dead_node(dead->_idx); |
1364 igvn->C->record_dead_node(dead->_idx); |
1356 // Kill all inputs to the dead guy |
1365 // Kill all inputs to the dead guy |
1357 for (uint i=0; i < dead->req(); i++) { |
1366 for (uint i=0; i < dead->req(); i++) { |
1358 Node *n = dead->in(i); // Get input to dead guy |
1367 Node *n = dead->in(i); // Get input to dead guy |
1359 if (n != NULL && !n->is_top()) { // Input is valid? |
1368 if (n != NULL && !n->is_top()) { // Input is valid? |