< prev index next >

src/share/vm/opto/arraycopynode.hpp

Print this page
rev 8739 : 8004073: Implement C2 Ideal node specific dump() method
Summary: add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping
Reviewed-by:


 147   bool is_copyofrange()           const  { assert(_kind != None, "should bet set"); return _kind == CopyOfRange; }
 148   bool is_copyofrange_validated() const  { assert(_kind != None, "should bet set"); return _kind == CopyOfRange && _arguments_validated; }
 149 
 150   void set_arraycopy(bool validated)   { assert(_kind == None, "shouldn't bet set yet"); _kind = ArrayCopy; _arguments_validated = validated; }
 151   void set_clonebasic()                { assert(_kind == None, "shouldn't bet set yet"); _kind = CloneBasic; }
 152   void set_cloneoop()                  { assert(_kind == None, "shouldn't bet set yet"); _kind = CloneOop; }
 153   void set_copyof(bool validated)      { assert(_kind == None, "shouldn't bet set yet"); _kind = CopyOf; _arguments_validated = validated; }
 154   void set_copyofrange(bool validated) { assert(_kind == None, "shouldn't bet set yet"); _kind = CopyOfRange; _arguments_validated = validated; }
 155 
 156   virtual int Opcode() const;
 157   virtual uint size_of() const; // Size is bigger
 158   virtual bool guaranteed_safepoint()  { return false; }
 159   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 160 
 161   virtual bool may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase);
 162 
 163   bool is_alloc_tightly_coupled() const { return _alloc_tightly_coupled; }
 164 
 165 #ifndef PRODUCT
 166   virtual void dump_spec(outputStream *st) const;

 167 #endif
 168 };
 169 #endif // SHARE_VM_OPTO_ARRAYCOPYNODE_HPP


 147   bool is_copyofrange()           const  { assert(_kind != None, "should bet set"); return _kind == CopyOfRange; }
 148   bool is_copyofrange_validated() const  { assert(_kind != None, "should bet set"); return _kind == CopyOfRange && _arguments_validated; }
 149 
 150   void set_arraycopy(bool validated)   { assert(_kind == None, "shouldn't bet set yet"); _kind = ArrayCopy; _arguments_validated = validated; }
 151   void set_clonebasic()                { assert(_kind == None, "shouldn't bet set yet"); _kind = CloneBasic; }
 152   void set_cloneoop()                  { assert(_kind == None, "shouldn't bet set yet"); _kind = CloneOop; }
 153   void set_copyof(bool validated)      { assert(_kind == None, "shouldn't bet set yet"); _kind = CopyOf; _arguments_validated = validated; }
 154   void set_copyofrange(bool validated) { assert(_kind == None, "shouldn't bet set yet"); _kind = CopyOfRange; _arguments_validated = validated; }
 155 
 156   virtual int Opcode() const;
 157   virtual uint size_of() const; // Size is bigger
 158   virtual bool guaranteed_safepoint()  { return false; }
 159   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 160 
 161   virtual bool may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase);
 162 
 163   bool is_alloc_tightly_coupled() const { return _alloc_tightly_coupled; }
 164 
 165 #ifndef PRODUCT
 166   virtual void dump_spec(outputStream *st) const;
 167   virtual void dump_comp_spec(outputStream* st) const;
 168 #endif
 169 };
 170 #endif // SHARE_VM_OPTO_ARRAYCOPYNODE_HPP
< prev index next >