src/share/vm/opto/connode.hpp

changeset 1082
bd441136a5ce
parent 1078
c771b7f43bbf
child 1210
93c14e5562c4
     1.1 --- a/src/share/vm/opto/connode.hpp	Wed Mar 18 11:37:48 2009 -0400
     1.2 +++ b/src/share/vm/opto/connode.hpp	Thu Mar 19 09:13:24 2009 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 + * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -635,3 +635,23 @@
    1.11    virtual uint ideal_reg() const { return Op_RegL; }
    1.12    virtual const Type* Value( PhaseTransform *phase ) const;
    1.13  };
    1.14 +
    1.15 +//---------- PopCountINode -----------------------------------------------------
    1.16 +// Population count (bit count) of an integer.
    1.17 +class PopCountINode : public Node {
    1.18 +public:
    1.19 +  PopCountINode(Node* in1) : Node(0, in1) {}
    1.20 +  virtual int Opcode() const;
    1.21 +  const Type* bottom_type() const { return TypeInt::INT; }
    1.22 +  virtual uint ideal_reg() const { return Op_RegI; }
    1.23 +};
    1.24 +
    1.25 +//---------- PopCountLNode -----------------------------------------------------
    1.26 +// Population count (bit count) of a long.
    1.27 +class PopCountLNode : public Node {
    1.28 +public:
    1.29 +  PopCountLNode(Node* in1) : Node(0, in1) {}
    1.30 +  virtual int Opcode() const;
    1.31 +  const Type* bottom_type() const { return TypeInt::INT; }
    1.32 +  virtual uint ideal_reg() const { return Op_RegI; }
    1.33 +};

mercurial