3427 u->Opcode() == Op_SubL || 3428 u->Opcode() == Op_AddP) { 3429 wq.push(u); 3430 } 3431 } 3432 // Replace all nodes with identical edges as m with m 3433 k->subsume_by(m, this); 3434 } 3435 } 3436 } 3437 break; 3438 } 3439 case Op_ValueType: { 3440 ValueTypeNode* vt = n->as_ValueType(); 3441 vt->make_scalar_in_safepoints(this); 3442 if (vt->outcnt() == 0) { 3443 vt->disconnect_inputs(NULL, this); 3444 } 3445 break; 3446 } 3447 default: 3448 assert( !n->is_Call(), "" ); 3449 assert( !n->is_Mem(), "" ); 3450 assert( nop != Op_ProfileBoolean, "should be eliminated during IGVN"); 3451 break; 3452 } 3453 3454 // Collect CFG split points 3455 if (n->is_MultiBranch() && !n->is_RangeCheck()) { 3456 frc._tests.push(n); 3457 } 3458 } 3459 3460 //------------------------------final_graph_reshaping_walk--------------------- 3461 // Replacing Opaque nodes with their input in final_graph_reshaping_impl(), 3462 // requires that the walk visits a node's inputs before visiting the node. 3463 void Compile::final_graph_reshaping_walk( Node_Stack &nstack, Node *root, Final_Reshape_Counts &frc ) { 3464 ResourceArea *area = Thread::current()->resource_area(); 3465 Unique_Node_List sfpt(area); 3466 | 3427 u->Opcode() == Op_SubL || 3428 u->Opcode() == Op_AddP) { 3429 wq.push(u); 3430 } 3431 } 3432 // Replace all nodes with identical edges as m with m 3433 k->subsume_by(m, this); 3434 } 3435 } 3436 } 3437 break; 3438 } 3439 case Op_ValueType: { 3440 ValueTypeNode* vt = n->as_ValueType(); 3441 vt->make_scalar_in_safepoints(this); 3442 if (vt->outcnt() == 0) { 3443 vt->disconnect_inputs(NULL, this); 3444 } 3445 break; 3446 } 3447 case Op_ValueTypePtr: { 3448 Node* oop = n->as_ValueTypeBase()->get_oop(); 3449 n->subsume_by(oop, this); 3450 break; 3451 } 3452 default: 3453 assert( !n->is_Call(), "" ); 3454 assert( !n->is_Mem(), "" ); 3455 assert( nop != Op_ProfileBoolean, "should be eliminated during IGVN"); 3456 break; 3457 } 3458 3459 // Collect CFG split points 3460 if (n->is_MultiBranch() && !n->is_RangeCheck()) { 3461 frc._tests.push(n); 3462 } 3463 } 3464 3465 //------------------------------final_graph_reshaping_walk--------------------- 3466 // Replacing Opaque nodes with their input in final_graph_reshaping_impl(), 3467 // requires that the walk visits a node's inputs before visiting the node. 3468 void Compile::final_graph_reshaping_walk( Node_Stack &nstack, Node *root, Final_Reshape_Counts &frc ) { 3469 ResourceArea *area = Thread::current()->resource_area(); 3470 Unique_Node_List sfpt(area); 3471 |