src/share/vm/opto/gcm.cpp

changeset 2350
2f644f85485d
parent 2314
f95d63e2154a
child 2508
b92c45f2bc75
equal deleted inserted replaced
2349:5ddfcf4b079e 2350:2f644f85485d
87 void PhaseCFG::replace_block_proj_ctrl( Node *n ) { 87 void PhaseCFG::replace_block_proj_ctrl( Node *n ) {
88 const Node *in0 = n->in(0); 88 const Node *in0 = n->in(0);
89 assert(in0 != NULL, "Only control-dependent"); 89 assert(in0 != NULL, "Only control-dependent");
90 const Node *p = in0->is_block_proj(); 90 const Node *p = in0->is_block_proj();
91 if (p != NULL && p != n) { // Control from a block projection? 91 if (p != NULL && p != n) { // Control from a block projection?
92 assert(!n->pinned() || n->is_SafePointScalarObject(), "only SafePointScalarObject pinned node is expected here"); 92 assert(!n->pinned() || n->is_MachConstantBase() || n->is_SafePointScalarObject(), "only pinned MachConstantBase or SafePointScalarObject node is expected here");
93 // Find trailing Region 93 // Find trailing Region
94 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block 94 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block
95 uint j = 0; 95 uint j = 0;
96 if (pb->_num_succs != 1) { // More then 1 successor? 96 if (pb->_num_succs != 1) { // More then 1 successor?
97 // Search for successor 97 // Search for successor

mercurial