-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Justin Spahr-Summers wrote: > On Wed, 31 Mar 2010 22:59:08 -0400, bearophile >> >> Bye, >> bearophile > > I think the D2 spec puts restrictions on what you can do with GC- > allocated pointers (can't convert them to integers, can't perform > arithmetic on them outside of their bounds, etc.), and I think they're > restrictive enough that a copying garbage collector could work with no > changes to compliant code. > > - Justin Spahr-Summers
The trouble with a moving garbage collector is that you have to be able to accurately scan the stacks of all threads. This is difficult to do with a language that can arbitrarily call into functions provided by different languages for which the compiler won't and can't have stack layout info. It's especially a pain on windows, as D code is called from window procedures, so most code is already using a stack which can't be scanned. Might be more doable on linux, xlib has a vastly better design than win32. - -- My enormous talent is exceeded only by my outrageous laziness. http://www.ssTk.co.uk -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFLtN7XT9LetA9XoXwRAsD9AJ49Ml2eW3JgW4RXL3qvJmqQZDpAVgCfUodR 2tAAm34SNHuoiRv82+4jPyQ= =CBev -----END PGP SIGNATURE-----
