src/share/vm/opto/cfgnode.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7069452 Sdiff src/share/vm/opto

src/share/vm/opto/cfgnode.hpp

Print this page




 200   virtual const Type *Value( PhaseTransform *phase ) const;
 201   virtual Node *Identity( PhaseTransform *phase );
 202   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 203   virtual const RegMask &out_RegMask() const;
 204   virtual const RegMask &in_RegMask(uint) const;
 205 #ifndef PRODUCT
 206   virtual void dump_spec(outputStream *st) const;
 207 #endif
 208 #ifdef ASSERT
 209   void verify_adr_type(VectorSet& visited, const TypePtr* at) const;
 210   void verify_adr_type(bool recursive = false) const;
 211 #else //ASSERT
 212   void verify_adr_type(bool recursive = false) const {}
 213 #endif //ASSERT
 214 };
 215 
 216 //------------------------------GotoNode---------------------------------------
 217 // GotoNodes perform direct branches.
 218 class GotoNode : public Node {
 219 public:
 220   GotoNode( Node *control ) : Node(control) {
 221     init_flags(Flag_is_Goto);
 222   }
 223   virtual int Opcode() const;
 224   virtual bool pinned() const { return true; }
 225   virtual bool  is_CFG() const { return true; }
 226   virtual uint hash() const { return NO_HASH; }  // CFG nodes do not hash
 227   virtual const Node *is_block_proj() const { return this; }
 228   virtual bool depends_only_on_test() const { return false; }
 229   virtual const Type *bottom_type() const { return Type::CONTROL; }
 230   virtual const Type *Value( PhaseTransform *phase ) const;
 231   virtual Node *Identity( PhaseTransform *phase );
 232   virtual const RegMask &out_RegMask() const;
 233 };
 234 
 235 //------------------------------CProjNode--------------------------------------
 236 // control projection for node that produces multiple control-flow paths
 237 class CProjNode : public ProjNode {
 238 public:
 239   CProjNode( Node *ctrl, uint idx ) : ProjNode(ctrl,idx) {}
 240   virtual int Opcode() const;
 241   virtual bool  is_CFG() const { return true; }
 242   virtual uint hash() const { return NO_HASH; }  // CFG nodes do not hash




 200   virtual const Type *Value( PhaseTransform *phase ) const;
 201   virtual Node *Identity( PhaseTransform *phase );
 202   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 203   virtual const RegMask &out_RegMask() const;
 204   virtual const RegMask &in_RegMask(uint) const;
 205 #ifndef PRODUCT
 206   virtual void dump_spec(outputStream *st) const;
 207 #endif
 208 #ifdef ASSERT
 209   void verify_adr_type(VectorSet& visited, const TypePtr* at) const;
 210   void verify_adr_type(bool recursive = false) const;
 211 #else //ASSERT
 212   void verify_adr_type(bool recursive = false) const {}
 213 #endif //ASSERT
 214 };
 215 
 216 //------------------------------GotoNode---------------------------------------
 217 // GotoNodes perform direct branches.
 218 class GotoNode : public Node {
 219 public:
 220   GotoNode( Node *control ) : Node(control) {}


 221   virtual int Opcode() const;
 222   virtual bool pinned() const { return true; }
 223   virtual bool  is_CFG() const { return true; }
 224   virtual uint hash() const { return NO_HASH; }  // CFG nodes do not hash
 225   virtual const Node *is_block_proj() const { return this; }
 226   virtual bool depends_only_on_test() const { return false; }
 227   virtual const Type *bottom_type() const { return Type::CONTROL; }
 228   virtual const Type *Value( PhaseTransform *phase ) const;
 229   virtual Node *Identity( PhaseTransform *phase );
 230   virtual const RegMask &out_RegMask() const;
 231 };
 232 
 233 //------------------------------CProjNode--------------------------------------
 234 // control projection for node that produces multiple control-flow paths
 235 class CProjNode : public ProjNode {
 236 public:
 237   CProjNode( Node *ctrl, uint idx ) : ProjNode(ctrl,idx) {}
 238   virtual int Opcode() const;
 239   virtual bool  is_CFG() const { return true; }
 240   virtual uint hash() const { return NO_HASH; }  // CFG nodes do not hash


src/share/vm/opto/cfgnode.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File