How the GC distinguishes code from data
Pelle
pelle.mansson at gmail.com
Fri Jan 7 10:39:35 PST 2011
On 01/07/2011 06:47 PM, %u wrote:
>> It assumes everything on the stack is pointers, at the moment, I believe
>
> Uh-oh... not the answer I wanted to hear, but I was half-expecting this.
> So doesn't that mean that, at the moment, D will leak memory?
Kinda sorta. I haven't had any problems from that. If you allocate very
large blocks in the garbage collector you may face trouble :-)
>> If it's not on the garbage collected heap, it won't scan it unless you
>> tell it to.
>
> But what if it's a void[] on a non-GC heap? Doesn't the language say that needs to
> be scanned too?
You have to add it to the garbage collector's list of roots, I'm not
sure what it's named exactly. Note that you only have to do that if
there actually are pointers to the gc heap there.
More information about the Digitalmars-d-learn
mailing list