hotspot/src/share/vm/opto/memnode.hpp
changeset 27697 ae60f551e5c8
parent 27637 cf68c0af6882
child 28954 7dda6c26cc98
child 29181 89beae49867c
equal deleted inserted replaced
27695:c6e0ac3339ac 27697:ae60f551e5c8
   728   enum {SCMEMPROJCON = (uint)-2};
   728   enum {SCMEMPROJCON = (uint)-2};
   729   SCMemProjNode( Node *src) : ProjNode( src, SCMEMPROJCON) { }
   729   SCMemProjNode( Node *src) : ProjNode( src, SCMEMPROJCON) { }
   730   virtual int Opcode() const;
   730   virtual int Opcode() const;
   731   virtual bool      is_CFG() const  { return false; }
   731   virtual bool      is_CFG() const  { return false; }
   732   virtual const Type *bottom_type() const {return Type::MEMORY;}
   732   virtual const Type *bottom_type() const {return Type::MEMORY;}
   733   virtual const TypePtr *adr_type() const { return in(0)->in(MemNode::Memory)->adr_type();}
   733   virtual const TypePtr *adr_type() const {
       
   734     Node* ctrl = in(0);
       
   735     if (ctrl == NULL)  return NULL; // node is dead
       
   736     return ctrl->in(MemNode::Memory)->adr_type();
       
   737   }
   734   virtual uint ideal_reg() const { return 0;} // memory projections don't have a register
   738   virtual uint ideal_reg() const { return 0;} // memory projections don't have a register
   735   virtual const Type *Value( PhaseTransform *phase ) const;
   739   virtual const Type *Value( PhaseTransform *phase ) const;
   736 #ifndef PRODUCT
   740 #ifndef PRODUCT
   737   virtual void dump_spec(outputStream *st) const {};
   741   virtual void dump_spec(outputStream *st) const {};
   738 #endif
   742 #endif