Request for review (L): 6378821: where available, bitCount() should use POPC on SPARC processors and AMD+10h

Christian Thalinger Christian.Thalinger at Sun.COM
Fri Mar 13 08:49:41 PDT 2009


On Thu, 2009-03-12 at 16:16 -0700, Tom Rodriguez wrote:
> The PopCount nodes should only take one argument since they are never  
> required to have control.

Hmm, I can't get it working properly.  When I use:

  PopCountINode(Node* in1) : Node(in1) {}

I get:

#  Internal Error (/home/ct232829/hotspot-comp/6378821/src/share/vm/opto/matcher.cpp:1375), pid=8595, tid=19
#  Error: assert(false,"bad AD file")

and I think I know why that happens.  When I use:

  PopCountINode(Node* in1) : Node(0, in1) {}

I have to use:

    push(_gvn.transform(new (C, 2) PopCountINode(pop())));

which is not very obvious to use 2 for the new call.  Should I use the
latter anyway?

-- Christian




More information about the hotspot-compiler-dev mailing list