This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: -liberty for the type hash


>>>>> "Martin" == Martin v Loewis <martin@loewis.home.cs.tu-berlin.de> writes:

    Martin> Right. You might have noticed that I could not have htab_t
    Martin> tables as generic GC roots, though. I still needed a
    Martin> structure to store the hash value together with the type*,
    Martin> so the elements in the hash would not be trees, but
    Martin> type_hash pointers.

Yup.  That's OK -- we still got big leverage from your change.

    Martin> Also, I dumped the contents of the type hash using
    Martin> type_as_string (in cc1plus), and noticed that there are
    Martin> apparently duplicate function types in the hash table. I
    Martin> will have to investigate this further.

Yes.  I think I remember seeing something similar.  The rules for
exactly which types *must* be shared is unclear to me -- I don't think
it's well-documented anywhere.  Ideally, we would share as more than
we do -- but we have a bad habit of altering types for a while, so
it's hard to say exactly when a type is "finished".

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]