< prev index next >

src/hotspot/share/opto/subnode.hpp

Print this page




 160 
 161 //------------------------------CmpUNode---------------------------------------
 162 // Compare 2 unsigned values (integer or pointer), returning condition codes (-1, 0 or 1).
 163 class CmpUNode : public CmpNode {
 164 public:
 165   CmpUNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 166   virtual int Opcode() const;
 167   virtual const Type *sub( const Type *, const Type * ) const;
 168   const Type* Value(PhaseGVN* phase) const;
 169   bool is_index_range_check() const;
 170 };
 171 
 172 //------------------------------CmpPNode---------------------------------------
 173 // Compare 2 pointer values, returning condition codes (-1, 0 or 1).
 174 class CmpPNode : public CmpNode {
 175 public:
 176   CmpPNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 177   virtual int Opcode() const;
 178   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 179   virtual const Type *sub( const Type *, const Type * ) const;
 180   Node* has_perturbed_operand() const;
 181 };
 182 
 183 //------------------------------CmpNNode--------------------------------------
 184 // Compare 2 narrow oop values, returning condition codes (-1, 0 or 1).
 185 class CmpNNode : public CmpNode {
 186 public:
 187   CmpNNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 188   virtual int Opcode() const;
 189   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 190   virtual const Type *sub( const Type *, const Type * ) const;
 191 };
 192 
 193 //------------------------------CmpLNode---------------------------------------
 194 // Compare 2 long values, returning condition codes (-1, 0 or 1).
 195 class CmpLNode : public CmpNode {
 196 public:
 197   CmpLNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 198   virtual int    Opcode() const;
 199   virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
 200   virtual const Type* Value(PhaseGVN* phase) const;




 160 
 161 //------------------------------CmpUNode---------------------------------------
 162 // Compare 2 unsigned values (integer or pointer), returning condition codes (-1, 0 or 1).
 163 class CmpUNode : public CmpNode {
 164 public:
 165   CmpUNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 166   virtual int Opcode() const;
 167   virtual const Type *sub( const Type *, const Type * ) const;
 168   const Type* Value(PhaseGVN* phase) const;
 169   bool is_index_range_check() const;
 170 };
 171 
 172 //------------------------------CmpPNode---------------------------------------
 173 // Compare 2 pointer values, returning condition codes (-1, 0 or 1).
 174 class CmpPNode : public CmpNode {
 175 public:
 176   CmpPNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 177   virtual int Opcode() const;
 178   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 179   virtual const Type *sub( const Type *, const Type * ) const;

 180 };
 181 
 182 //------------------------------CmpNNode--------------------------------------
 183 // Compare 2 narrow oop values, returning condition codes (-1, 0 or 1).
 184 class CmpNNode : public CmpNode {
 185 public:
 186   CmpNNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 187   virtual int Opcode() const;
 188   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 189   virtual const Type *sub( const Type *, const Type * ) const;
 190 };
 191 
 192 //------------------------------CmpLNode---------------------------------------
 193 // Compare 2 long values, returning condition codes (-1, 0 or 1).
 194 class CmpLNode : public CmpNode {
 195 public:
 196   CmpLNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 197   virtual int    Opcode() const;
 198   virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
 199   virtual const Type* Value(PhaseGVN* phase) const;


< prev index next >