< prev index next >

src/share/vm/opto/castnode.hpp

Print this page

        

*** 35,46 **** public: ConstraintCastNode (Node *n, const Type *t ): TypeNode(t,2) { init_class_id(Class_ConstraintCast); init_req(1, n); } ! virtual Node *Identity( PhaseTransform *phase ); ! virtual const Type *Value( PhaseTransform *phase ) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual int Opcode() const; virtual uint ideal_reg() const = 0; }; --- 35,46 ---- public: ConstraintCastNode (Node *n, const Type *t ): TypeNode(t,2) { init_class_id(Class_ConstraintCast); init_req(1, n); } ! virtual Node* Identity(PhaseGVN* phase); ! virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual int Opcode() const; virtual uint ideal_reg() const = 0; };
*** 58,69 **** public: CastIINode(Node *n, const Type *t, bool carry_dependency = false) : ConstraintCastNode(n,t), _carry_dependency(carry_dependency) {} virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegI; } ! virtual Node *Identity( PhaseTransform *phase ); ! virtual const Type *Value( PhaseTransform *phase ) const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; #endif }; --- 58,69 ---- public: CastIINode(Node *n, const Type *t, bool carry_dependency = false) : ConstraintCastNode(n,t), _carry_dependency(carry_dependency) {} virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegI; } ! virtual Node* Identity(PhaseGVN* phase); ! virtual const Type* Value(PhaseGVN* phase) const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; #endif };
*** 84,95 **** init_class_id(Class_CheckCastPP); init_req(0, c); init_req(1, n); } ! virtual Node *Identity( PhaseTransform *phase ); ! virtual const Type *Value( PhaseTransform *phase ) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } }; --- 84,95 ---- init_class_id(Class_CheckCastPP); init_req(0, c); init_req(1, n); } ! virtual Node* Identity(PhaseGVN* phase); ! virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } };
*** 98,110 **** // convert a machine-pointer-sized integer to a raw pointer class CastX2PNode : public Node { public: CastX2PNode( Node *n ) : Node(NULL, n) {} virtual int Opcode() const; ! virtual const Type *Value( PhaseTransform *phase ) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); ! virtual Node *Identity( PhaseTransform *phase ); virtual uint ideal_reg() const { return Op_RegP; } virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; } }; //------------------------------CastP2XNode------------------------------------- --- 98,110 ---- // convert a machine-pointer-sized integer to a raw pointer class CastX2PNode : public Node { public: CastX2PNode( Node *n ) : Node(NULL, n) {} virtual int Opcode() const; ! virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); ! virtual Node* Identity(PhaseGVN* phase); virtual uint ideal_reg() const { return Op_RegP; } virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; } }; //------------------------------CastP2XNode-------------------------------------
*** 112,124 **** // Used for card-marks and unsafe pointer math. class CastP2XNode : public Node { public: CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {} virtual int Opcode() const; ! virtual const Type *Value( PhaseTransform *phase ) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); ! virtual Node *Identity( PhaseTransform *phase ); virtual uint ideal_reg() const { return Op_RegX; } virtual const Type *bottom_type() const { return TypeX_X; } // Return false to keep node from moving away from an associated card mark. virtual bool depends_only_on_test() const { return false; } }; --- 112,124 ---- // Used for card-marks and unsafe pointer math. class CastP2XNode : public Node { public: CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {} virtual int Opcode() const; ! virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); ! virtual Node* Identity(PhaseGVN* phase); virtual uint ideal_reg() const { return Op_RegX; } virtual const Type *bottom_type() const { return TypeX_X; } // Return false to keep node from moving away from an associated card mark. virtual bool depends_only_on_test() const { return false; } };
< prev index next >