java method calls and GIMPLE
Mark Mitchell
mark@codesourcery.com
Wed Oct 11 20:07:00 GMT 2006
Tom Tromey wrote:
>>>>>> "Ian" == Ian Lance Taylor <iant@google.com> writes:
>> Ian> But note that IPA via LTO is not going to permit callbacks into the
> Ian> front end, because there isn't going to be a front end. So the
> Ian> information needs to be represented in GIMPLE somewhere.
>> Unfortunately there are lots of unsolved problems here, namely what
> the type system will look like. My current devirtualization pass
> relies on facts about the java type system in order to do its work.
To make LTO work, we're going to want to understand what facts you need,
and then get them passed on to LTO. If we can get a GIMPLE pass that
can do what we need, then we're most of the way there.
> And unless I'm mistaken there are even simpler LTO problems that
> remain unsolved -- e.g., gcj sets flag_wrapv, but it seems to me that
> this would have to be a flag on operations rather than a global for
> LTO to be truly language independent.
Sure, we've got to fix that. Want to help? :-) No question there's a
long row to hoe, here. I would hope that we could start with a
devirtualization pass on GIMPLE, using langhooks if necessary, and
gradually migrate that to work with LTO. I certainly wouldn't argue
that we should wait for LTO to be done to tackle devirtualization.
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713
More information about the Java
mailing list