hotspot/src/share/vm/opto/chaitin.hpp
changeset 2154 72a9b7284ccf
parent 2105 347008ce7984
parent 2131 98f9cef66a34
child 2340 cb47f8209cd8
equal deleted inserted replaced
2106:ec595a5e793e 2154:72a9b7284ccf
   325   Node *split_Rematerialize(Node *def, Block *b, uint insidx, uint &maxlrg, GrowableArray<uint> splits,
   325   Node *split_Rematerialize(Node *def, Block *b, uint insidx, uint &maxlrg, GrowableArray<uint> splits,
   326                             int slidx, uint *lrg2reach, Node **Reachblock, bool walkThru);
   326                             int slidx, uint *lrg2reach, Node **Reachblock, bool walkThru);
   327   // True if lidx is used before any real register is def'd in the block
   327   // True if lidx is used before any real register is def'd in the block
   328   bool prompt_use( Block *b, uint lidx );
   328   bool prompt_use( Block *b, uint lidx );
   329   Node *get_spillcopy_wide( Node *def, Node *use, uint uidx );
   329   Node *get_spillcopy_wide( Node *def, Node *use, uint uidx );
   330   // Insert the spill at chosen location.  Skip over any interveneing Proj's or
   330   // Insert the spill at chosen location.  Skip over any intervening Proj's or
   331   // Phis.  Skip over a CatchNode and projs, inserting in the fall-through block
   331   // Phis.  Skip over a CatchNode and projs, inserting in the fall-through block
   332   // instead.  Update high-pressure indices.  Create a new live range.
   332   // instead.  Update high-pressure indices.  Create a new live range.
   333   void insert_proj( Block *b, uint i, Node *spill, uint maxlrg );
   333   void insert_proj( Block *b, uint i, Node *spill, uint maxlrg );
   334 
   334 
   335   bool is_high_pressure( Block *b, LRG *lrg, uint insidx );
   335   bool is_high_pressure( Block *b, LRG *lrg, uint insidx );
   429 
   429 
   430   // Simplify the IFG by removing LRGs of low degree
   430   // Simplify the IFG by removing LRGs of low degree
   431   void Simplify();
   431   void Simplify();
   432 
   432 
   433   // Select colors by re-inserting edges into the IFG.
   433   // Select colors by re-inserting edges into the IFG.
   434   // Return TRUE if any spills occured.
   434   // Return TRUE if any spills occurred.
   435   uint Select( );
   435   uint Select( );
   436   // Helper function for select which allows biased coloring
   436   // Helper function for select which allows biased coloring
   437   OptoReg::Name choose_color( LRG &lrg, int chunk );
   437   OptoReg::Name choose_color( LRG &lrg, int chunk );
   438   // Helper function which implements biasing heuristic
   438   // Helper function which implements biasing heuristic
   439   OptoReg::Name bias_color( LRG &lrg, int chunk );
   439   OptoReg::Name bias_color( LRG &lrg, int chunk );