This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: Improving gcc scalability wrt _extra_ large C files


I am not sure that I understand exactly what you mean, but I am afraid that --using this method-- we will still have to do a lot of list traversing. IMHO, this should still be very costly when the global scope contains over 300k symbols (what I am trying to get cc1plus to compile in a more decent time).

Jacques.

Neil Booth wrote:

Jacques THOMAS wrote:-



Hi Neil,

I think I understand what you want to do. The only thing I don't understand is how you plan to deal with nested lexical scopes (i.e. lexical symbol overloading). If I understand correctly, cc1plus uses a stack of lists of identifiers, each layer in the stack corresponding to a lexical scope (the binding levels). Am I correct ? If so, how do you plan to emulate or replace this stacking mecanism ?



Each decl to have 2 decl pointers: one to the next decl in its scope (probably in reverse order), and one to the decl that it hides set during the equivalent of pushdecl. When exiting a scope, traverse the former list updating the identifier pointers to the latter.

Neil.





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