This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> To use it, all programmers had to do was remember to declare stack > variables as "ObjectVar" instead of "Object *". Sounds simple. > [...] > But boy oh boy, if you ever forgot an ObjectVar were you *did* > need it, you had a bug that could lurk literally for *years*, > waiting for a GC to get triggered at exactly the right (or wrong) > moment. > [...] > We switched to conservative stack scanning (precise everywhere > else) about 2 years ago and never looked back. Right. My experience with Emacs is similar (up until the point about "We switched ..."). Add that to the results presented in the Usenix paper (Boehm, I think?), and that's my argument. If someone implemented exact GC, and wrote a checker that we could distribute with Guile (so folks could check their Guile extensions), and performance was decent, I'd distribute it. I'm more comfortable with a checker than a transformer (i.e. something which inserts the GC protection for you), because I don't want to introduce yet another step into Guile's already complex build process. Those things always seem to be rickety. As far as the discussion of modified BSD lints, C++ constructors, incremental thread-safe GC's and so on is concerned, well, you know how these things go: Those With Running Code Win. :)