comparison src/share/vm/opto/node.cpp @ 23974:f13e777eb255

Merge with jdk8u111-b14
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Wed, 16 Nov 2016 12:32:54 -0800
parents b5f3a471e646 a96cf90239c6
children
comparison
equal deleted inserted replaced
23792:3953f8820df8 23974:f13e777eb255
527 } 527 }
528 if (is_macro()) 528 if (is_macro())
529 C->add_macro_node(n); 529 C->add_macro_node(n);
530 if (is_expensive()) 530 if (is_expensive())
531 C->add_expensive_node(n); 531 C->add_expensive_node(n);
532 // If the cloned node is a range check dependent CastII, add it to the list.
533 CastIINode* cast = n->isa_CastII();
534 if (cast != NULL && cast->has_range_check()) {
535 C->add_range_check_cast(cast);
536 }
532 537
533 n->set_idx(C->next_unique()); // Get new unique index as well 538 n->set_idx(C->next_unique()); // Get new unique index as well
534 debug_only( n->verify_construction() ); 539 debug_only( n->verify_construction() );
535 NOT_PRODUCT(nodes_created++); 540 NOT_PRODUCT(nodes_created++);
536 // Do not patch over the debug_idx of a clone, because it makes it 541 // Do not patch over the debug_idx of a clone, because it makes it
655 compile->remove_macro_node(this); 660 compile->remove_macro_node(this);
656 } 661 }
657 if (is_expensive()) { 662 if (is_expensive()) {
658 compile->remove_expensive_node(this); 663 compile->remove_expensive_node(this);
659 } 664 }
665 CastIINode* cast = isa_CastII();
666 if (cast != NULL && cast->has_range_check()) {
667 compile->remove_range_check_cast(cast);
668 }
669
660 if (is_SafePoint()) { 670 if (is_SafePoint()) {
661 as_SafePoint()->delete_replaced_nodes(); 671 as_SafePoint()->delete_replaced_nodes();
662 } 672 }
663 #ifdef ASSERT 673 #ifdef ASSERT
664 // We will not actually delete the storage, but we'll make the node unusable. 674 // We will not actually delete the storage, but we'll make the node unusable.
1350 igvn->C->remove_macro_node(dead); 1360 igvn->C->remove_macro_node(dead);
1351 } 1361 }
1352 if (dead->is_expensive()) { 1362 if (dead->is_expensive()) {
1353 igvn->C->remove_expensive_node(dead); 1363 igvn->C->remove_expensive_node(dead);
1354 } 1364 }
1365 CastIINode* cast = dead->isa_CastII();
1366 if (cast != NULL && cast->has_range_check()) {
1367 igvn->C->remove_range_check_cast(cast);
1368 }
1355 igvn->C->record_dead_node(dead->_idx); 1369 igvn->C->record_dead_node(dead->_idx);
1356 // Kill all inputs to the dead guy 1370 // Kill all inputs to the dead guy
1357 for (uint i=0; i < dead->req(); i++) { 1371 for (uint i=0; i < dead->req(); i++) {
1358 Node *n = dead->in(i); // Get input to dead guy 1372 Node *n = dead->in(i); // Get input to dead guy
1359 if (n != NULL && !n->is_top()) { // Input is valid? 1373 if (n != NULL && !n->is_top()) { // Input is valid?