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 {