A question about bytecodes + unsigned load performance ./. add performace
John.Rose at Sun.COM
Fri Jan 16 12:29:16 PST 2009
Yes. It's a valid ideal node type, not hardware specific and useful
IMO, matcher-based optimizations are nice-to-haves, not
requirements. If you have a optimization you really need, make it in
the ideal graph. This is such a case.
(As an aside, I would like to see someone dig into the matcher, and
record the (re-)learning process on http://wikis.sun.com/display/
On Jan 16, 2009, at 6:29 AM, Christian Thalinger wrote:
> On Thu, 2009-01-15 at 12:51 -0800, John Rose wrote:
>> The problem of delaying optimizations until the matcher is the
>> optimizer (esp. loop opts) can push the graph into an unrecognizable
>> shape. If control inputs are preventing the matcher's merge-up,
>> perhaps they are fallout from loop opts or some other CFG change.
>> Maybe we should bite the bullet and introduce an ideal node LoadUB
>> for read-unsigned-8 (and maybe LoadUI for read-unsigned-32? -- we
>> have LoadC for LoadUS; it could be renamed to LoadUS).
>> If we rewrite LoadB/AndI pairs early to LoadUB, in Node::Ideal(), the
>> optimization will be "in the bank" and later transformations cannot
>> interfere with it.
> Should I try to make that changes?
> -- Christian
More information about the hotspot-compiler-dev