1 /* |
1 /* |
2 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
178 virtual uint ideal_reg() const { return Op_RegI; } |
178 virtual uint ideal_reg() const { return Op_RegI; } |
179 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); |
179 virtual Node* Ideal(PhaseGVN* phase, bool can_reshape); |
180 virtual const Type* Value(PhaseGVN* phase) const; |
180 virtual const Type* Value(PhaseGVN* phase) const; |
181 }; |
181 }; |
182 |
182 |
|
183 //-------------------------------DigitNode---------------------------------------- |
|
184 class DigitNode : public Node { |
|
185 public: |
|
186 DigitNode(Node* control, Node *in1) : Node(control, in1) {} |
|
187 virtual int Opcode() const; |
|
188 const Type* bottom_type() const { return TypeInt::BOOL; } |
|
189 virtual uint ideal_reg() const { return Op_RegI; } |
|
190 }; |
|
191 |
|
192 //------------------------------LowerCaseNode------------------------------------ |
|
193 class LowerCaseNode : public Node { |
|
194 public: |
|
195 LowerCaseNode(Node* control, Node *in1) : Node(control, in1) {} |
|
196 virtual int Opcode() const; |
|
197 const Type* bottom_type() const { return TypeInt::BOOL; } |
|
198 virtual uint ideal_reg() const { return Op_RegI; } |
|
199 }; |
|
200 |
|
201 //------------------------------UpperCaseNode------------------------------------ |
|
202 class UpperCaseNode : public Node { |
|
203 public: |
|
204 UpperCaseNode(Node* control, Node *in1) : Node(control, in1) {} |
|
205 virtual int Opcode() const; |
|
206 const Type* bottom_type() const { return TypeInt::BOOL; } |
|
207 virtual uint ideal_reg() const { return Op_RegI; } |
|
208 }; |
|
209 |
|
210 //------------------------------WhitespaceCode----------------------------------- |
|
211 class WhitespaceNode : public Node { |
|
212 public: |
|
213 WhitespaceNode(Node* control, Node *in1) : Node(control, in1) {} |
|
214 virtual int Opcode() const; |
|
215 const Type* bottom_type() const { return TypeInt::BOOL; } |
|
216 virtual uint ideal_reg() const { return Op_RegI; } |
|
217 }; |
|
218 |
183 #endif // SHARE_VM_OPTO_INTRINSICNODE_HPP |
219 #endif // SHARE_VM_OPTO_INTRINSICNODE_HPP |