< prev index next >

src/hotspot/share/opto/castnode.hpp

Print this page

205   virtual uint ideal_reg() const { return Op_RegP; }
206   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; }
207 };
208 
209 //------------------------------CastP2XNode-------------------------------------
210 // Used in both 32-bit and 64-bit land.
211 // Used for card-marks and unsafe pointer math.
212 class CastP2XNode : public Node {
213   public:
214   CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {}
215   virtual int Opcode() const;
216   virtual const Type* Value(PhaseGVN* phase) const;
217   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
218   virtual Node* Identity(PhaseGVN* phase);
219   virtual uint ideal_reg() const { return Op_RegX; }
220   virtual const Type *bottom_type() const { return TypeX_X; }
221   // Return false to keep node from moving away from an associated card mark.
222   virtual bool depends_only_on_test() const { return false; }
223 };
224 
225 
226 
227 #endif // SHARE_OPTO_CASTNODE_HPP

205   virtual uint ideal_reg() const { return Op_RegP; }
206   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; }
207 };
208 
209 //------------------------------CastP2XNode-------------------------------------
210 // Used in both 32-bit and 64-bit land.
211 // Used for card-marks and unsafe pointer math.
212 class CastP2XNode : public Node {
213   public:
214   CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {}
215   virtual int Opcode() const;
216   virtual const Type* Value(PhaseGVN* phase) const;
217   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
218   virtual Node* Identity(PhaseGVN* phase);
219   virtual uint ideal_reg() const { return Op_RegX; }
220   virtual const Type *bottom_type() const { return TypeX_X; }
221   // Return false to keep node from moving away from an associated card mark.
222   virtual bool depends_only_on_test() const { return false; }
223 };
224 


225 #endif // SHARE_OPTO_CASTNODE_HPP
< prev index next >