comparison src/share/vm/opto/gcm.cpp @ 4115:1bd45abaa507

6890673: Eliminate allocations immediately after EA Summary: Try to eliminate allocations and related locks immediately after escape analysis. Reviewed-by: never
author kvn
date Wed, 16 Nov 2011 09:13:57 -0800
parents c7b60b601eb4
children cf407b7d3d78
comparison
equal deleted inserted replaced
4114:6729bbc1fcd6 4115:1bd45abaa507
93 void PhaseCFG::replace_block_proj_ctrl( Node *n ) { 93 void PhaseCFG::replace_block_proj_ctrl( Node *n ) {
94 const Node *in0 = n->in(0); 94 const Node *in0 = n->in(0);
95 assert(in0 != NULL, "Only control-dependent"); 95 assert(in0 != NULL, "Only control-dependent");
96 const Node *p = in0->is_block_proj(); 96 const Node *p = in0->is_block_proj();
97 if (p != NULL && p != n) { // Control from a block projection? 97 if (p != NULL && p != n) { // Control from a block projection?
98 assert(!n->pinned() || n->is_MachConstantBase() || n->is_SafePointScalarObject(), "only pinned MachConstantBase or SafePointScalarObject node is expected here"); 98 assert(!n->pinned() || n->is_MachConstantBase(), "only pinned MachConstantBase node is expected here");
99 // Find trailing Region 99 // Find trailing Region
100 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block 100 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block
101 uint j = 0; 101 uint j = 0;
102 if (pb->_num_succs != 1) { // More then 1 successor? 102 if (pb->_num_succs != 1) { // More then 1 successor?
103 // Search for successor 103 // Search for successor