hotspot/src/share/vm/opto/chaitin.hpp
changeset 3678 d797d97552e4
parent 2340 cb47f8209cd8
child 5547 f4b087cbb361
equal deleted inserted replaced
3604:30fbd94d4963 3678:d797d97552e4
   456   void fixup_spills();
   456   void fixup_spills();
   457 
   457 
   458   // Post-Allocation peephole copy removal
   458   // Post-Allocation peephole copy removal
   459   void post_allocate_copy_removal();
   459   void post_allocate_copy_removal();
   460   Node *skip_copies( Node *c );
   460   Node *skip_copies( Node *c );
       
   461   // Replace the old node with the current live version of that value
       
   462   // and yank the old value if it's dead.
       
   463   int replace_and_yank_if_dead( Node *old, OptoReg::Name nreg,
       
   464                                 Block *current_block, Node_List& value, Node_List& regnd ) {
       
   465     Node* v = regnd[nreg];
       
   466     assert(v->outcnt() != 0, "no dead values");
       
   467     old->replace_by(v);
       
   468     return yank_if_dead(old, current_block, &value, &regnd);
       
   469   }
       
   470 
   461   int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd );
   471   int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd );
   462   int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List &regnd, bool can_change_regs );
   472   int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List &regnd, bool can_change_regs );
   463   int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List &regnd );
   473   int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List &regnd );
   464   bool may_be_copy_of_callee( Node *def ) const;
   474   bool may_be_copy_of_callee( Node *def ) const;
   465 
   475