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 +};