[gc-improv] Copy current trunk to branch

Laurynas Biveinis laurynas.biveinis@gmail.com
Thu Jan 20 10:15:00 GMT 2011


2011/1/20 Paolo Bonzini <bonzini@gnu.org>:
>> - 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.
>
> Maybe we can find something better than obstacks?  There are two possible
> benefits of obstacks: space locality (i.e. hope that parts of an rtx are in
> the same cache line) and easily defined lifetimes.

I agree.

> If we use a different interface than obstacks for RTL allocation, we can try
> to separate the two.  For example, the primitives could be:
>
> (1) start allocating global
[...]
> (7) move scratch to per-function

> With obstacks, (7) is not easily implemented.  The fwprop.c changes in
> Bernd's patch that emulate it, for example, are quite hard to follow and not
> very idiomatic.  A different interface could support it and at the same time
> allow us to try different backends: some examples are [...]

I agree that defining such allocation interface is a good idea. I also
think that with obstacks (1)-(6) abstract very easily and (7) is
doable. So I will introduce an abstraction layer here.

-- 
Laurynas



More information about the Gcc-patches mailing list