This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Speeding up GC
- From: law at redhat dot com
- To: "David S. Miller" <davem at redhat dot com>
- Cc: pkoning at equallogic dot com, levon at movementarian dot org, ak at suse dot de, rth at redhat dot com, gcc at gcc dot gnu dot org
- Date: Tue, 04 Jun 2002 09:42:28 -0600
- Subject: Re: Speeding up GC
- Reply-to: law at redhat dot com
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