< prev index next >

src/hotspot/share/opto/intrinsicnode.hpp

Print this page

149 
150 //------------------------------AryEq---------------------------------------
151 class AryEqNode: public StrIntrinsicNode {
152  public:
153   AryEqNode(Node* control, Node* char_array_mem,
154             Node* s1, Node* s2, ArgEncoding encoding):
155   StrIntrinsicNode(control, char_array_mem, s1, s2, encoding) {};
156   virtual int Opcode() const;
157   virtual const Type* bottom_type() const { return TypeInt::BOOL; }
158 };
159 
160 //------------------------------HasNegatives---------------------------------
161 class HasNegativesNode: public StrIntrinsicNode {
162  public:
163   HasNegativesNode(Node* control, Node* char_array_mem, Node* s1, Node* c1):
164   StrIntrinsicNode(control, char_array_mem, s1, c1, none) {};
165   virtual int Opcode() const;
166   virtual const Type* bottom_type() const { return TypeInt::BOOL; }
167 };
168 
169 
170 //------------------------------EncodeISOArray--------------------------------
171 // encode char[] to byte[] in ISO_8859_1 or ASCII
172 class EncodeISOArrayNode: public Node {
173   bool ascii;
174  public:
175   EncodeISOArrayNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c, bool ascii)
176     : Node(control, arymem, s1, s2, c), ascii(ascii) {}
177 
178   bool is_ascii() { return ascii; }
179   virtual int Opcode() const;
180   virtual bool depends_only_on_test() const { return false; }
181   virtual const Type* bottom_type() const { return TypeInt::INT; }
182   virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; }
183   virtual uint match_edge(uint idx) const;
184   virtual uint ideal_reg() const { return Op_RegI; }
185   virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
186   virtual const Type* Value(PhaseGVN* phase) const;
187 };
188 
189 //-------------------------------DigitNode----------------------------------------

149 
150 //------------------------------AryEq---------------------------------------
151 class AryEqNode: public StrIntrinsicNode {
152  public:
153   AryEqNode(Node* control, Node* char_array_mem,
154             Node* s1, Node* s2, ArgEncoding encoding):
155   StrIntrinsicNode(control, char_array_mem, s1, s2, encoding) {};
156   virtual int Opcode() const;
157   virtual const Type* bottom_type() const { return TypeInt::BOOL; }
158 };
159 
160 //------------------------------HasNegatives---------------------------------
161 class HasNegativesNode: public StrIntrinsicNode {
162  public:
163   HasNegativesNode(Node* control, Node* char_array_mem, Node* s1, Node* c1):
164   StrIntrinsicNode(control, char_array_mem, s1, c1, none) {};
165   virtual int Opcode() const;
166   virtual const Type* bottom_type() const { return TypeInt::BOOL; }
167 };
168 

169 //------------------------------EncodeISOArray--------------------------------
170 // encode char[] to byte[] in ISO_8859_1 or ASCII
171 class EncodeISOArrayNode: public Node {
172   bool ascii;
173  public:
174   EncodeISOArrayNode(Node* control, Node* arymem, Node* s1, Node* s2, Node* c, bool ascii)
175     : Node(control, arymem, s1, s2, c), ascii(ascii) {}
176 
177   bool is_ascii() { return ascii; }
178   virtual int Opcode() const;
179   virtual bool depends_only_on_test() const { return false; }
180   virtual const Type* bottom_type() const { return TypeInt::INT; }
181   virtual const TypePtr* adr_type() const { return TypePtr::BOTTOM; }
182   virtual uint match_edge(uint idx) const;
183   virtual uint ideal_reg() const { return Op_RegI; }
184   virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
185   virtual const Type* Value(PhaseGVN* phase) const;
186 };
187 
188 //-------------------------------DigitNode----------------------------------------
< prev index next >