src/share/vm/opto/block.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6973963 Sdiff src/share/vm/opto

src/share/vm/opto/block.cpp

Print this page




 336   }
 337   tty->print_cr("");
 338 }
 339 
 340 void Block::dump() const { dump(0); }
 341 
 342 void Block::dump( const Block_Array *bbs ) const {
 343   dump_head(bbs);
 344   uint cnt = _nodes.size();
 345   for( uint i=0; i<cnt; i++ )
 346     _nodes[i]->dump();
 347   tty->print("\n");
 348 }
 349 #endif
 350 
 351 //=============================================================================
 352 //------------------------------PhaseCFG---------------------------------------
 353 PhaseCFG::PhaseCFG( Arena *a, RootNode *r, Matcher &m ) :
 354   Phase(CFG),
 355   _bbs(a),
 356   _root(r)

 357 #ifndef PRODUCT
 358   , _trace_opto_pipelining(TraceOptoPipelining || C->method_has_option("TraceOptoPipelining"))
 359 #endif
 360 #ifdef ASSERT
 361   , _raw_oops(a)
 362 #endif
 363 {
 364   ResourceMark rm;
 365   // I'll need a few machine-specific GotoNodes.  Make an Ideal GotoNode,
 366   // then Match it into a machine-specific Node.  Then clone the machine
 367   // Node on demand.
 368   Node *x = new (C, 1) GotoNode(NULL);
 369   x->init_req(0, x);
 370   _goto = m.match_tree(x);
 371   assert(_goto != NULL, "");
 372   _goto->set_req(0,_goto);
 373 
 374   // Build the CFG in Reverse Post Order
 375   _num_blocks = build_cfg();
 376   _broot = _bbs[_root->_idx];




 336   }
 337   tty->print_cr("");
 338 }
 339 
 340 void Block::dump() const { dump(0); }
 341 
 342 void Block::dump( const Block_Array *bbs ) const {
 343   dump_head(bbs);
 344   uint cnt = _nodes.size();
 345   for( uint i=0; i<cnt; i++ )
 346     _nodes[i]->dump();
 347   tty->print("\n");
 348 }
 349 #endif
 350 
 351 //=============================================================================
 352 //------------------------------PhaseCFG---------------------------------------
 353 PhaseCFG::PhaseCFG( Arena *a, RootNode *r, Matcher &m ) :
 354   Phase(CFG),
 355   _bbs(a),
 356   _root(r),
 357   _node_latency(NULL)
 358 #ifndef PRODUCT
 359   , _trace_opto_pipelining(TraceOptoPipelining || C->method_has_option("TraceOptoPipelining"))
 360 #endif
 361 #ifdef ASSERT
 362   , _raw_oops(a)
 363 #endif
 364 {
 365   ResourceMark rm;
 366   // I'll need a few machine-specific GotoNodes.  Make an Ideal GotoNode,
 367   // then Match it into a machine-specific Node.  Then clone the machine
 368   // Node on demand.
 369   Node *x = new (C, 1) GotoNode(NULL);
 370   x->init_req(0, x);
 371   _goto = m.match_tree(x);
 372   assert(_goto != NULL, "");
 373   _goto->set_req(0,_goto);
 374 
 375   // Build the CFG in Reverse Post Order
 376   _num_blocks = build_cfg();
 377   _broot = _bbs[_root->_idx];


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