Speeding up GC
law@redhat.com
law@redhat.com
Tue Jun 4 08:43:00 GMT 2002
In message <20020604.072448.55836404.davem@redhat.com>, "David S. Miller"
writes:
> 2) Functions like loop.c:product_cheap_p() generate RTL to see
> if valid expressions of a given type can be created and if so
> see what it looks like. Then the RTL is %100 forgotten.
>
> FIX: Create a "short-term" mode for GC allocation. Enable this
> mode around such allocations.
This seems reasonable -- as long as we have a way for the short term object
to turn into a long term object. That was one of the fundamental problems
with obstacks -- there was no reasonable way to change the lifetime of an
object after it was created.
It seems to me we have to classes of short term needs for RTL.
1. We're going to generate various hunks of RTL, none of which will be
live after the "short term" mode is complete. Clearly we want these
to use different pages in the GC allocator and not pollute the GC
pages that are interesting long-term.
2. We're going to generate various hunks of RTL, but one or more of those
hunks may be live after we're done with the "short term" mode. This
is the more interesting (and I suspect more important) long term problem
to solve.
jeff
More information about the Gcc
mailing list