satyr_22901@xxxxxxxxx wrote:
As a note on what Gerd said about the GC, only precise GCs can be
copying GC--the idea behind a conservative GC is that it checks
everything that *looks* like a pointer because it can't always tell
what is a pointer and what isn't, which is useful when adding garbage
collection to a language like C where there would be little or no
compiler support for it. On the x86 the garbage collector is a
conservative collector so it cannot assume that everything that looks
like a pointer is in fact a pointer and modify the values, so it leaves
all of the data in place--otherwise it would risk changing an integer
value used in the program merely because it thought the integer was a
pointer.
Conservative GC can be 'mostly copying'. You're allowed to copy
an object if all pointers to it are unambiguous.
Beware that the patent on this idea doesn't expire until 2007 (IIRC).
Paul