src/share/vm/opto/block.hpp

Print this page
rev 5661 : 8003854: PPC64 (part 115): Introduce lateExpand that expands nodes after register allocation.

*** 311,324 **** Node *end() const { return _nodes[end_idx()]; } // Add an instruction to an existing block. It must go after the head // instruction and before the end instruction. void add_inst( Node *n ) { insert_node(n, end_idx()); } ! // Find node in block uint find_node( const Node *n ) const; // Find and remove n from block list void find_remove( const Node *n ); // Return the empty status of a block enum { not_empty, empty_with_goto, completely_empty }; int is_Empty() const; --- 311,326 ---- Node *end() const { return _nodes[end_idx()]; } // Add an instruction to an existing block. It must go after the head // instruction and before the end instruction. void add_inst( Node *n ) { insert_node(n, end_idx()); } ! // Find node in block. Fails if node not in block. uint find_node( const Node *n ) const; // Find and remove n from block list void find_remove( const Node *n ); + // Check wether the node is in the block. + bool contains (const Node *n) const; // Return the empty status of a block enum { not_empty, empty_with_goto, completely_empty }; int is_Empty() const;
*** 594,603 **** --- 596,608 ---- void insert(Block *b, uint idx, Node *n) { b->insert_node(n , idx); map_node_to_block(n, b); } + // Check all nodes and late expand them if necessary. + void LateExpand(PhaseRegAlloc* _ra); + #ifndef PRODUCT bool trace_opto_pipelining() const { return _trace_opto_pipelining; } // Debugging print of CFG void dump( ) const; // CFG only