< prev index next >

src/share/vm/opto/castnode.hpp

Print this page

        

*** 45,55 **** 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; virtual bool depends_only_on_test() const { return !_carry_dependency; } bool carry_dependency() const { return _carry_dependency; } TypeNode* dominating_cast(PhaseTransform *phase) const; static Node* make_cast(int opcode, Node* c, Node *n, const Type *t, bool carry_dependency); --- 45,55 ---- 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 uint Opcode() const; virtual uint ideal_reg() const = 0; virtual bool depends_only_on_test() const { return !_carry_dependency; } bool carry_dependency() const { return _carry_dependency; } TypeNode* dominating_cast(PhaseTransform *phase) const; static Node* make_cast(int opcode, Node* c, Node *n, const Type *t, bool carry_dependency);
*** 71,81 **** public: CastIINode(Node* n, const Type* t, bool carry_dependency = false, bool range_check_dependency = false) : ConstraintCastNode(n, t, carry_dependency), _range_check_dependency(range_check_dependency) { init_class_id(Class_CastII); } ! virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegI; } virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); const bool has_range_check() { #ifdef _LP64 --- 71,81 ---- public: CastIINode(Node* n, const Type* t, bool carry_dependency = false, bool range_check_dependency = false) : ConstraintCastNode(n, t, carry_dependency), _range_check_dependency(range_check_dependency) { init_class_id(Class_CastII); } ! virtual uint Opcode() const; virtual uint ideal_reg() const { return Op_RegI; } virtual const Type* Value(PhaseGVN* phase) const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); const bool has_range_check() { #ifdef _LP64
*** 96,106 **** class CastPPNode: public ConstraintCastNode { public: CastPPNode (Node *n, const Type *t, bool carry_dependency = false) : ConstraintCastNode(n, t, carry_dependency) { } ! virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------CheckCastPPNode-------------------------------- // for _checkcast, cast pointer to pointer (different type), without JOIN, --- 96,106 ---- class CastPPNode: public ConstraintCastNode { public: CastPPNode (Node *n, const Type *t, bool carry_dependency = false) : ConstraintCastNode(n, t, carry_dependency) { } ! virtual uint Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------CheckCastPPNode-------------------------------- // for _checkcast, cast pointer to pointer (different type), without JOIN,
*** 112,132 **** init_req(0, c); } virtual Node* Identity(PhaseGVN* phase); virtual const Type* Value(PhaseGVN* phase) const; ! virtual int Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------CastX2PNode------------------------------------- // 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; } --- 112,132 ---- init_req(0, c); } virtual Node* Identity(PhaseGVN* phase); virtual const Type* Value(PhaseGVN* phase) const; ! virtual uint Opcode() const; virtual uint ideal_reg() const { return Op_RegP; } }; //------------------------------CastX2PNode------------------------------------- // convert a machine-pointer-sized integer to a raw pointer class CastX2PNode : public Node { public: CastX2PNode( Node *n ) : Node(NULL, n) {} ! virtual uint 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; }
*** 136,146 **** // Used in both 32-bit and 64-bit land. // 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; } --- 136,146 ---- // Used in both 32-bit and 64-bit land. // Used for card-marks and unsafe pointer math. class CastP2XNode : public Node { public: CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {} ! virtual uint 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; }
< prev index next >