On Sun, 13 Mar 2016 23:46:51 +0000, deadalnix wrote: > On Sunday, 13 March 2016 at 23:34:44 UTC, Adam Wilson wrote: >> Is there an implementation of a conservative moving (compacting) GC out >> there? I'm not aware of one, but there are a lot of GC's out there. >> Boehm isn't. >> >> > That is impossible, you need to know what is and isn't a pointer to be > able to move things around.
Let's say we do the most precise GC possible for D. We can categorize things into: * maybe a pointer; it's part of a union that contains a non-pointer element * definitely a pointer (we know because of stack pointer maps and type information, and there aren't any unions mucking it up) * definitely not a pointer We can move anything that has only "definitely a pointer"s pointing at it. We can't move anything that has one or more "maybe a pointer"s pointing at it. I keep saying this...
