< prev index next >

src/hotspot/share/opto/subnode.hpp

Print this page
rev 52049 : JDK11-only: Use WB-based acmp barrier


 155   CmpINode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 156   virtual int Opcode() const;
 157   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 158   virtual const Type *sub( const Type *, const Type * ) const;
 159 };
 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 private:
 176 #if INCLUDE_SHENANDOAHGC
 177   bool shenandoah_optimize_java_mirror_cmp(PhaseGVN *phase, bool can_reshape);
 178 #endif
 179 
 180 public:
 181   CmpPNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 182   virtual int Opcode() const;
 183   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 184   virtual const Type *sub( const Type *, const Type * ) const;
 185 };
 186 
 187 //------------------------------CmpNNode--------------------------------------
 188 // Compare 2 narrow oop values, returning condition codes (-1, 0 or 1).
 189 class CmpNNode : public CmpNode {
 190 public:
 191   CmpNNode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 192   virtual int Opcode() const;
 193   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 194   virtual const Type *sub( const Type *, const Type * ) const;
 195 };
 196 
 197 //------------------------------CmpLNode---------------------------------------
 198 // Compare 2 long values, returning condition codes (-1, 0 or 1).
 199 class CmpLNode : public CmpNode {




 155   CmpINode( Node *in1, Node *in2 ) : CmpNode(in1,in2) {}
 156   virtual int Opcode() const;
 157   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 158   virtual const Type *sub( const Type *, const Type * ) const;
 159 };
 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 {


< prev index next >