src/share/vm/opto/block.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8034812 Cdiff src/share/vm/opto/block.cpp

src/share/vm/opto/block.cpp

Print this page

        

*** 371,381 **** { ResourceMark rm; // I'll need a few machine-specific GotoNodes. Make an Ideal GotoNode, // then Match it into a machine-specific Node. Then clone the machine // Node on demand. ! Node *x = new (C) GotoNode(NULL); x->init_req(0, x); _goto = matcher.match_tree(x); assert(_goto != NULL, ""); _goto->set_req(0,_goto); --- 371,381 ---- { ResourceMark rm; // I'll need a few machine-specific GotoNodes. Make an Ideal GotoNode, // then Match it into a machine-specific Node. Then clone the machine // Node on demand. ! Node *x = new GotoNode(NULL); x->init_req(0, x); _goto = matcher.match_tree(x); assert(_goto != NULL, ""); _goto->set_req(0,_goto);
*** 424,434 **** p = p->in(0); // Move control forward } while( !p->is_block_proj() && !p->is_block_start() ); // Make the block begin with one of Region or StartNode. if( !p->is_block_start() ) { ! RegionNode *r = new (C) RegionNode( 2 ); r->init_req(1, p); // Insert RegionNode in the way proj->set_req(0, r); // Insert RegionNode in the way p = r; } // 'p' now points to the start of this basic block --- 424,434 ---- p = p->in(0); // Move control forward } while( !p->is_block_proj() && !p->is_block_start() ); // Make the block begin with one of Region or StartNode. if( !p->is_block_start() ) { ! RegionNode *r = new RegionNode( 2 ); r->init_req(1, p); // Insert RegionNode in the way proj->set_req(0, r); // Insert RegionNode in the way p = r; } // 'p' now points to the start of this basic block
*** 499,509 **** // surrounding blocks. float freq = in->_freq * in->succ_prob(succ_no); // get ProjNode corresponding to the succ_no'th successor of the in block ProjNode* proj = in->get_node(in->number_of_nodes() - in->_num_succs + succ_no)->as_Proj(); // create region for basic block ! RegionNode* region = new (C) RegionNode(2); region->init_req(1, proj); // setup corresponding basic block Block* block = new (_block_arena) Block(_block_arena, region); map_node_to_block(region, block); C->regalloc()->set_bad(region->_idx); --- 499,509 ---- // surrounding blocks. float freq = in->_freq * in->succ_prob(succ_no); // get ProjNode corresponding to the succ_no'th successor of the in block ProjNode* proj = in->get_node(in->number_of_nodes() - in->_num_succs + succ_no)->as_Proj(); // create region for basic block ! RegionNode* region = new RegionNode(2); region->init_req(1, proj); // setup corresponding basic block Block* block = new (_block_arena) Block(_block_arena, region); map_node_to_block(region, block); C->regalloc()->set_bad(region->_idx);
src/share/vm/opto/block.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File