[PATCH] split tree_type, a.k.a. "tuplifying types"

Michael Matz matz@suse.de
Tue May 10 21:13:00 GMT 2011


Hi,

On Tue, 10 May 2011, Nathan Froyd wrote:

> > > +  /* Do not stream TYPE_POINTER_TO or TYPE_REFERENCE_TO.  */
> > 
> > Add some wording as to why not?  This was copied from existing
> > comments, but I do not remember why we were doing this.  Not too
> > critical, anyway.
> 
> I'm not entirely sure; I'm not intimately familiar with how LTO
> streaming works. lto.c's lto_ft_type and lto_ft_common purport to
> recreate TYPE_{POINTER,REFERENCE}_TO, but I don't immediately see how
> that's supposed to work.  I can imagine that we ought to be able to
> recreate those fields after reading everything in, and that's why don't
> stream them; I just don't know where that's done.

That is correct.  As soon as we read in a POINTER_TYPE or REFERENCE_TYPE 
we'll reconstruct the target type's TYPE_{POINTER,REFERENCE}_TO fields as 
being the trees we just process.  Type merging would have to overwrite 
them anyway, so it actually saves time and space to not stream or 
reconstruct them, just to have them overwritten during type merging.


Ciao,
Michael.


More information about the Java-patches mailing list