1.1 --- a/src/share/vm/opto/node.hpp Wed May 28 21:06:24 2008 -0700 1.2 +++ b/src/share/vm/opto/node.hpp Thu May 29 12:04:14 2008 -0700 1.3 @@ -53,6 +53,8 @@ 1.4 class ConNode; 1.5 class CountedLoopNode; 1.6 class CountedLoopEndNode; 1.7 +class DecodeNNode; 1.8 +class EncodePNode; 1.9 class FastLockNode; 1.10 class FastUnlockNode; 1.11 class IfNode; 1.12 @@ -438,6 +440,12 @@ 1.13 public: 1.14 // Globally replace this node by a given new node, updating all uses. 1.15 void replace_by(Node* new_node); 1.16 + // Globally replace this node by a given new node, updating all uses 1.17 + // and cutting input edges of old node. 1.18 + void subsume_by(Node* new_node) { 1.19 + replace_by(new_node); 1.20 + disconnect_inputs(NULL); 1.21 + } 1.22 void set_req_X( uint i, Node *n, PhaseIterGVN *igvn ); 1.23 // Find the one non-null required input. RegionNode only 1.24 Node *nonnull_req() const; 1.25 @@ -577,6 +585,8 @@ 1.26 DEFINE_CLASS_ID(CheckCastPP, Type, 2) 1.27 DEFINE_CLASS_ID(CMove, Type, 3) 1.28 DEFINE_CLASS_ID(SafePointScalarObject, Type, 4) 1.29 + DEFINE_CLASS_ID(DecodeN, Type, 5) 1.30 + DEFINE_CLASS_ID(EncodeP, Type, 6) 1.31 1.32 DEFINE_CLASS_ID(Mem, Node, 6) 1.33 DEFINE_CLASS_ID(Load, Mem, 0) 1.34 @@ -685,6 +695,8 @@ 1.35 DEFINE_CLASS_QUERY(Cmp) 1.36 DEFINE_CLASS_QUERY(CountedLoop) 1.37 DEFINE_CLASS_QUERY(CountedLoopEnd) 1.38 + DEFINE_CLASS_QUERY(DecodeN) 1.39 + DEFINE_CLASS_QUERY(EncodeP) 1.40 DEFINE_CLASS_QUERY(FastLock) 1.41 DEFINE_CLASS_QUERY(FastUnlock) 1.42 DEFINE_CLASS_QUERY(If)