< prev index next > src/hotspot/share/opto/divnode.hpp
Print this page
class DivModINode : public DivModNode {
public:
DivModINode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::INT_PAIR; }
! virtual Node *match( const ProjNode *proj, const Matcher *m );
// Make a divmod and associated projections from a div or mod.
static DivModINode* make(Node* div_or_mod);
};
class DivModINode : public DivModNode {
public:
DivModINode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::INT_PAIR; }
! virtual Node *match(const ProjNode *proj, const Matcher *m, const RegMask* mask);
// Make a divmod and associated projections from a div or mod.
static DivModINode* make(Node* div_or_mod);
};
class DivModLNode : public DivModNode {
public:
DivModLNode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::LONG_PAIR; }
! virtual Node *match( const ProjNode *proj, const Matcher *m );
// Make a divmod and associated projections from a div or mod.
static DivModLNode* make(Node* div_or_mod);
};
class DivModLNode : public DivModNode {
public:
DivModLNode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::LONG_PAIR; }
! virtual Node *match(const ProjNode *proj, const Matcher *m, const RegMask* mask);
// Make a divmod and associated projections from a div or mod.
static DivModLNode* make(Node* div_or_mod);
};
class UDivModINode : public DivModNode {
public:
UDivModINode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::INT_PAIR; }
! virtual Node *match( const ProjNode *proj, const Matcher *m );
// Make a divmod and associated projections from a div or mod.
static UDivModINode* make(Node* div_or_mod);
};
class UDivModINode : public DivModNode {
public:
UDivModINode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::INT_PAIR; }
! virtual Node* match(const ProjNode* proj, const Matcher* m, const RegMask* mask);
// Make a divmod and associated projections from a div or mod.
static UDivModINode* make(Node* div_or_mod);
};
class UDivModLNode : public DivModNode {
public:
UDivModLNode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::LONG_PAIR; }
! virtual Node *match( const ProjNode *proj, const Matcher *m );
// Make a divmod and associated projections from a div or mod.
static UDivModLNode* make(Node* div_or_mod);
};
class UDivModLNode : public DivModNode {
public:
UDivModLNode( Node *c, Node *dividend, Node *divisor ) : DivModNode(c, dividend, divisor) {}
virtual int Opcode() const;
virtual const Type *bottom_type() const { return TypeTuple::LONG_PAIR; }
! virtual Node* match(const ProjNode* proj, const Matcher* m, const RegMask* mask);
// Make a divmod and associated projections from a div or mod.
static UDivModLNode* make(Node* div_or_mod);
};
< prev index next >