GC Precision

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Oct 26 09:01:51 PDT 2009


Sean Kelly wrote:
> dsimcha Wrote:
> 
>> == Quote from Sean Kelly (sean at invisibleduck.org)'s article
>>> dsimcha Wrote:
>>>> I just realized last night that D's templates are probably powerful enough now
>>>> to generate bit masks that can be used for precise GC heap scanning.  I'm
>>>> halfway (emphasis on halfway) thinking of using this to try to hack the GC and
>>>> make heap scanning fully precise except for the corner case of unions.
>>>> However, this ties into several things that others in the D community are
>>>> doing, so I want to gauge people's responses and make sure I'm not wasting
>>>> effort on something that will be useless in 6 months.
>>>>
>>>> 1.  Sean, Leonardo, whoever else may be working on GC implementations, have
>>>> you by any chance broken ground on precise heap scanning already?
>>> I've thought about it, but not done anything about it.  The compiler doesn't
>> provide this information, so precise scanning would require a user-level call.
>> You'll also have to deal with arrays of structs, by the way.
>>
>> Arrays of structs are easy:  Generate a bitmask for one element, and keep reusing
>> that bitmask until the end of the block.  Am I missing something?
> 
> Nope.

One question is, is there enough information for stack variables? My 
understanding from a while ago was that heap data could be reasonably 
analyzed, but stack data has no info associated with it.

Andrei



More information about the Digitalmars-d mailing list