Requesting for project ideas

thedeemon dlang at thedeemon.com
Thu Jan 3 10:54:31 PST 2013


On Thursday, 3 January 2013 at 11:40:37 UTC, deadalnix wrote:
> On Thursday, 3 January 2013 at 11:26:11 UTC, Thiez wrote:
>> On Thursday, 3 January 2013 at 10:17:19 UTC, deadalnix wrote:
>>> Generational seems completely unrealistic.
>>
>> Why?
>
> Tracking reference from old gen to new gen require read/write 
> barriers.
> Plus, it is unclear what the win is, generational GC is way 
> less interesting when the GC cannot move.

Last time I talked with Walter (on reddit) regarding this he 
mentioned papers on "mostly copying GCs" where one can have a 
generational imprecise GC which moves most of the data but not 
all of it. For example, without stack maps we don't know where in 
the stack are pointers, so we don't move objects possibly 
referenced from stack. However those referenced only from the 
heap can be moved since we have precise heap info. I recall this 
is the current situation of Rainer's mostly precise GC used in 
VisualD - it has precise maps of the heap but not of the stack.

+1 to better GC as a project. An easier but still possibly 
interesting goal would be changing current (or better Rainer's) 
GC to use parallel marking and lazy sweeping, same things that 
were done for Ruby interpreter recently. That should make GC 
pauses much shorter and it doesn't require rewriting most of the 
GC.


More information about the Digitalmars-d mailing list