How the GC distinguishes code from data

%u wfunction at hotmail.com
Wed Jan 5 22:31:24 PST 2011


> If you have allocated a large uint[], most likely =C3=ACt will be flagged
NO_SCAN, meaning it has no pointers in it, and the GC will ignore it.


Ah, but the trouble is, no one said that this array has to be in the GC heap! I
could easily have a void[] and a uint[] that both point to non-GC managed memory.
Or I might even have a uint[] allocated on the stack! How does the GC distinguish
these, when there's no "attribute" it can mark? (Or does it?!)


More information about the Digitalmars-d-learn mailing list