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]

Re: [gc-improv] Copy current trunk to branch


2011/1/20 Nathan Froyd <froydnj@codesourcery.com>:
> On Wed, Jan 19, 2011 at 03:29:47PM +0200, Laurynas Biveinis wrote:
>> I am re-using my merged gc-improv branch for my next memory management
>> project, which is moving RTL out of GC and, time permitting, better GC
>> implementation. I hope to merge it during 4.7 stage 1.
>
> This is excellent! ÂWould you mind explaining what your plan is?
>

- Move RTL back to obstacks: global, per-function, scratch, maybe a
few per-pass obstacks too. My work so far is based on Bernd Schmidt's
patch [1]. Also this will enable quite a few cleanups: in gengtype,
removal a lot of GTY markers in backends that only serve PCH.
- Merge to trunk.
- Add an object type tag to all GC allocated objects, this should be
trivial now that GC allocation is type-strict.
- Then the "normal" GC implementation techniques: incremental,
copying, generational etc. all become doable. Implement, measure
performance, merge, repeat.

Currently I do not plan to remove the limitation that collection
happens only when invoked explicitly with ggc_collect(). That would
require solving the issue of GC roots on stack in one way or another.

[1] - http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00655.html

-- 
Laurynas


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