src/hotspot/share/opto/intrinsicnode.hpp
changeset 52979 7384e00d5860
parent 47216 71c04702a3d5
child 53244 9807daeb47c4
equal deleted inserted replaced
52978:95efb32d390b 52979:7384e00d5860
     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