src/share/vm/opto/chaitin.hpp

changeset 1358
a70508bb21c3
parent 1108
fbc12e71c476
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/opto/chaitin.hpp	Thu Aug 06 12:24:41 2009 -0700
     1.2 +++ b/src/share/vm/opto/chaitin.hpp	Fri Aug 14 15:53:46 2009 -0700
     1.3 @@ -458,6 +458,16 @@
     1.4    // Post-Allocation peephole copy removal
     1.5    void post_allocate_copy_removal();
     1.6    Node *skip_copies( Node *c );
     1.7 +  // Replace the old node with the current live version of that value
     1.8 +  // and yank the old value if it's dead.
     1.9 +  int replace_and_yank_if_dead( Node *old, OptoReg::Name nreg,
    1.10 +                                Block *current_block, Node_List& value, Node_List& regnd ) {
    1.11 +    Node* v = regnd[nreg];
    1.12 +    assert(v->outcnt() != 0, "no dead values");
    1.13 +    old->replace_by(v);
    1.14 +    return yank_if_dead(old, current_block, &value, &regnd);
    1.15 +  }
    1.16 +
    1.17    int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd );
    1.18    int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List &regnd, bool can_change_regs );
    1.19    int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List &regnd );

mercurial