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]

Re: tools to make non-conservative GC feasible.


"Perry E. Metzger" <perry@piermont.com> writes:

> Greg Harvey writes:
> > "Perry E. Metzger" <perry@piermont.com> writes:
> > > Maybe the trick is to build a simple tool that catches mistakes in
> > > handing things to the collector. I suspect that some hacks to the
> > > freely redistributable version of lint that comes with NetBSD these
> > > days could be made to catch places where things weren't explicitly
> > > handled.
> > > 
> > > Anyone have any thoughts?
> > 
> > Instead of building something to find mistakes, we'd be better off
> > building something to do the work for us. Changing all of guile to use
> > exact marking would be quite tedious for a human, and if we can figure
> > out what does and doesn't need to be protected, why not eliminate the
> > buggy wetware?
> 
> Well, I think that humans can be more intelligent about how they
> handle the exact marking and such. I think we *could* take a tool that 
> found errors and turn it into one that helped with conversions,
> though.

The thing about it is that just declaring all SCM values as stack
values requires near to nil intelligence. The big knock against
explicit marking is that it requires the whole tedious task of doing
this... even with a tool that tells you that you didn't do it in some
place, it's still a big human hassle for little real benefit. If it
were automatic (which may require a bit of discipline on the
programmers part, but much less than the lather, rinse, repeat work of
doing it manually), I don't think there'd be any reason to not go with
explicit marking.

On the other hand, if it can't figure out all the places where values
need to be registered, then it's just adding the extra annoyance of
more source to maintain, without making explicit marking that much
more attractive.

-- 
Greg