A question about bytecodes + unsigned load performance ./. add performace
John.Rose at Sun.COM
Mon Jan 12 17:39:58 PST 2009
On Jan 12, 2009, at 1:52 PM, Tom Rodriguez wrote:
> The ideal for the simple example is something like (StoreC mem2
> addr2 (AndI (LoadB mem1 addr1) (ConI 0xff))). The code above will
> break the match at the load, forcing the value into a register.
> It's seem like an excessively strong cutout but I'm not sure how to
> phrase it better, particularly since I don't know what exactly what
> problem it designed to eliminate. I believe it's probably the anti-
> dep issue but without a concrete failure it's hard to know what
> exactly it should look like.
That sounds plausible. In general, if a node has a unique user, it
can be pulled into one of the little spanning trees that the matcher
places over the ideal DAG. The graph dump Christian sent shows that
the LoadB has just one user ([]) which means the matcher should
be able to group the LoadB with the AndI (and transform to loadUB),
unless there's something else going on, like the anti-deps you mention.
More information about the hotspot-dev