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] |
Other format: | [Raw text] |
On Fri, Sep 02, 2005 at 11:52:01AM -0700, Mark Mitchell wrote:
Daniel Berlin wrote:
On Fri, 2005-09-02 at 11:31 -0700, Mark Mitchell wrote:
We were missing ggc_push_context calls around functions in local classes; we want to collect within those functions, but we have local state that is not in GC roots.
Is there some reason we've chosen not to do the same here?
Because we don't know what the local state is. We're deep in the midst of parsing one function, and now enter another. The other choice is to eliminate the ggc_collect call in expand_or_defer_fn in cp/semantics.c when in a local class, i.e, if function_depth. That will result in potentially piling up a lot of garbage, but it should work I guess.
That's what we used to do when compiling nested functions, yes.
Because extracting all of its tendrils from the page allocator was very difficult and we were well into the 4.0 release cycle at the time. I didn't want to remove the functions without removing the rest of the now-dead bits; if we do that, it'll be years before someone gets around to it.
-- Mark Mitchell CodeSourcery, LLC mark@codesourcery.com (916) 791-8304
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |