hotspot/src/share/vm/opto/connode.hpp
changeset 2255 54abdf3e1055
parent 781 e1baa9c8f16f
child 2862 fad636edf18f
equal deleted inserted replaced
2254:f13dda645a4b 2255:54abdf3e1055
     1 /*
     1 /*
     2  * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
     2  * Copyright 1997-2009 Sun Microsystems, Inc.  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.
   633   virtual int Opcode() const;
   633   virtual int Opcode() const;
   634   virtual const Type *bottom_type() const { return TypeLong::LONG; }
   634   virtual const Type *bottom_type() const { return TypeLong::LONG; }
   635   virtual uint ideal_reg() const { return Op_RegL; }
   635   virtual uint ideal_reg() const { return Op_RegL; }
   636   virtual const Type* Value( PhaseTransform *phase ) const;
   636   virtual const Type* Value( PhaseTransform *phase ) const;
   637 };
   637 };
       
   638 
       
   639 //---------- PopCountINode -----------------------------------------------------
       
   640 // Population count (bit count) of an integer.
       
   641 class PopCountINode : public Node {
       
   642 public:
       
   643   PopCountINode(Node* in1) : Node(0, in1) {}
       
   644   virtual int Opcode() const;
       
   645   const Type* bottom_type() const { return TypeInt::INT; }
       
   646   virtual uint ideal_reg() const { return Op_RegI; }
       
   647 };
       
   648 
       
   649 //---------- PopCountLNode -----------------------------------------------------
       
   650 // Population count (bit count) of a long.
       
   651 class PopCountLNode : public Node {
       
   652 public:
       
   653   PopCountLNode(Node* in1) : Node(0, in1) {}
       
   654   virtual int Opcode() const;
       
   655   const Type* bottom_type() const { return TypeInt::INT; }
       
   656   virtual uint ideal_reg() const { return Op_RegI; }
       
   657 };