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] |
hjstein@bfr.co.il writes: > > Maciej Stachowiak <mstachow@mit.edu> writes: > > > Of course, the Boehm code needs to find the _absolute_ top of the > > stack when possible, while Guile can get away with anything closer > > to the stack bottom than main()'s frame pointer is. > > Why is this? > The Boehm collector, as I understand it, does conservative GC for actual C and C++ objects by scanning the stack and the heap conservatively for pointers. It must not free objects your code has dropped references to if they might be referenced by whatever is on the heap before main() (which is quite possible if you mutate argv or envp). However, Guile only needs to find possible references to SCM objects, and you can't have one higher on the stack than main(). - Maciej