src/share/vm/opto/connode.cpp

changeset 7789
eb8b5cc64669
parent 7422
d9e22e15d3f6
child 7994
04ff2f6cd0eb
child 8285
535618ab1c04
     1.1 --- a/src/share/vm/opto/connode.cpp	Tue Apr 28 00:37:33 2015 -0700
     1.2 +++ b/src/share/vm/opto/connode.cpp	Thu Jan 29 10:25:59 2015 -0800
     1.3 @@ -1338,6 +1338,30 @@
     1.4    return (&n == this);          // Always fail except on self
     1.5  }
     1.6  
     1.7 +//=============================================================================
     1.8 +
     1.9 +uint ProfileBooleanNode::hash() const { return NO_HASH; }
    1.10 +uint ProfileBooleanNode::cmp( const Node &n ) const {
    1.11 +  return (&n == this);
    1.12 +}
    1.13 +
    1.14 +Node *ProfileBooleanNode::Ideal(PhaseGVN *phase, bool can_reshape) {
    1.15 +  if (can_reshape && _delay_removal) {
    1.16 +    _delay_removal = false;
    1.17 +    return this;
    1.18 +  } else {
    1.19 +    return NULL;
    1.20 +  }
    1.21 +}
    1.22 +
    1.23 +Node *ProfileBooleanNode::Identity( PhaseTransform *phase ) {
    1.24 +  if (_delay_removal) {
    1.25 +    return this;
    1.26 +  } else {
    1.27 +    assert(_consumed, "profile should be consumed before elimination");
    1.28 +    return in(1);
    1.29 +  }
    1.30 +}
    1.31  
    1.32  //------------------------------Value------------------------------------------
    1.33  const Type *MoveL2DNode::Value( PhaseTransform *phase ) const {

mercurial