This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: *ping* [PATCH] unit-at-a-time for java
> On Wed, 3 Sep 2003, Jan Hubicka wrote:
> > > Eeeeh. So we only inline in order? Nasty. Still, I guess it's the
> > > best we can do at the present time.
> >
> > Hmm just curious, what happens to the functions that gets inlined
> > completely so they are never expanded then?
>
> That never happens in Java. Every function is referenced from the method
> table, so has TREE_ADDRESSABLE set, etc. (It's one of the reasons the
> executables are so huge.)
I see, so without some kind of global optimizations one can not remove a
function body....
I was thinking a bit that in such a case it would be possible to find a
postorder that allows you to satisfy all the inlining decisions.
Basically if you postorder only the subgraph created by inline edges you
will get it as it is always acyclic.
In order to propagate other information we need kind of postorder of the
complete graph that is perfrect postofer of the inling graph. Perhaps
simply taking an inline edges with a priority in dfs would do it.
Definitly we can get it by doing embedded dfs over the inline edges each
time we get into the new node....
Honza
>
> On tree-ssa, there'll be "extern inline" methods available for inlining,
> now that it handles functions as trees for bytecode.
>
> Jeff