src/share/vm/opto/block.hpp

Print this page
rev 5728 : 8029015: PPC64 (part 216): opto: trap based null and range checks


 573   // Use frequency calculations and code shape to predict if the block
 574   // is uncommon.
 575   bool is_uncommon(const Block* block);
 576 
 577 #ifdef ASSERT
 578   Unique_Node_List _raw_oops;
 579 #endif
 580 
 581   // Do global code motion by first building dominator tree and estimate block frequency
 582   // Returns true on success
 583   bool do_global_code_motion();
 584 
 585   // Compute the (backwards) latency of a node from the uses
 586   void latency_from_uses(Node *n);
 587 
 588   // Set loop alignment
 589   void set_loop_alignment();
 590 
 591   // Remove empty basic blocks
 592   void remove_empty_blocks();

 593   void fixup_flow();
 594 
 595   // Insert a node into a block at index and map the node to the block
 596   void insert(Block *b, uint idx, Node *n) {
 597     b->insert_node(n , idx);
 598     map_node_to_block(n, b);
 599   }
 600 
 601   // Check all nodes and postalloc_expand them if necessary.
 602   void postalloc_expand(PhaseRegAlloc* _ra);
 603 
 604 #ifndef PRODUCT
 605   bool trace_opto_pipelining() const { return _trace_opto_pipelining; }
 606 
 607   // Debugging print of CFG
 608   void dump( ) const;           // CFG only
 609   void _dump_cfg( const Node *end, VectorSet &visited  ) const;
 610   void verify() const;
 611   void dump_headers();
 612 #else




 573   // Use frequency calculations and code shape to predict if the block
 574   // is uncommon.
 575   bool is_uncommon(const Block* block);
 576 
 577 #ifdef ASSERT
 578   Unique_Node_List _raw_oops;
 579 #endif
 580 
 581   // Do global code motion by first building dominator tree and estimate block frequency
 582   // Returns true on success
 583   bool do_global_code_motion();
 584 
 585   // Compute the (backwards) latency of a node from the uses
 586   void latency_from_uses(Node *n);
 587 
 588   // Set loop alignment
 589   void set_loop_alignment();
 590 
 591   // Remove empty basic blocks
 592   void remove_empty_blocks();
 593   Block *fixup_trap_based_check(Node *branch, Block *block, int block_pos, Block *bnext);
 594   void fixup_flow();
 595 
 596   // Insert a node into a block at index and map the node to the block
 597   void insert(Block *b, uint idx, Node *n) {
 598     b->insert_node(n , idx);
 599     map_node_to_block(n, b);
 600   }
 601 
 602   // Check all nodes and postalloc_expand them if necessary.
 603   void postalloc_expand(PhaseRegAlloc* _ra);
 604 
 605 #ifndef PRODUCT
 606   bool trace_opto_pipelining() const { return _trace_opto_pipelining; }
 607 
 608   // Debugging print of CFG
 609   void dump( ) const;           // CFG only
 610   void _dump_cfg( const Node *end, VectorSet &visited  ) const;
 611   void verify() const;
 612   void dump_headers();
 613 #else