< prev index next >

src/share/vm/opto/mathexactnode.hpp

Print this page

        

*** 36,46 **** class OverflowNode : public CmpNode { public: OverflowNode(Node* in1, Node* in2) : CmpNode(in1, in2) {} ! virtual uint ideal_reg() const { return Op_RegFlags; } virtual const Type* sub(const Type* t1, const Type* t2) const; }; class OverflowINode : public OverflowNode { public: --- 36,46 ---- class OverflowNode : public CmpNode { public: OverflowNode(Node* in1, Node* in2) : CmpNode(in1, in2) {} ! virtual Opcodes ideal_reg() const { return Opcodes::Op_RegFlags; } virtual const Type* sub(const Type* t1, const Type* t2) const; }; class OverflowINode : public OverflowNode { public:
*** 70,135 **** class OverflowAddINode : public OverflowINode { public: typedef AddINode MathOp; OverflowAddINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowSubINode : public OverflowINode { public: typedef SubINode MathOp; OverflowSubINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowMulINode : public OverflowINode { public: typedef MulINode MathOp; OverflowMulINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowAddLNode : public OverflowLNode { public: typedef AddLNode MathOp; OverflowAddLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowSubLNode : public OverflowLNode { public: typedef SubLNode MathOp; OverflowSubLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowMulLNode : public OverflowLNode { public: typedef MulLNode MathOp; OverflowMulLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual int Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; --- 70,135 ---- class OverflowAddINode : public OverflowINode { public: typedef AddINode MathOp; OverflowAddINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowSubINode : public OverflowINode { public: typedef SubINode MathOp; OverflowSubINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowMulINode : public OverflowINode { public: typedef MulINode MathOp; OverflowMulINode(Node* in1, Node* in2) : OverflowINode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jint v1, jint v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowAddLNode : public OverflowLNode { public: typedef AddLNode MathOp; OverflowAddLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowSubLNode : public OverflowLNode { public: typedef SubLNode MathOp; OverflowSubLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; }; class OverflowMulLNode : public OverflowLNode { public: typedef MulLNode MathOp; OverflowMulLNode(Node* in1, Node* in2) : OverflowLNode(in1, in2) {} ! virtual Opcodes Opcode() const; virtual bool will_overflow(jlong v1, jlong v2) const; virtual bool can_overflow(const Type* t1, const Type* t2) const; };
< prev index next >