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]

Structs and the gc



First off, happy holidays everyone :)

I'm working on backporting some of the bits I've done so far for the
ggc into the current garbage collector (the chunklet representation of
gc marks). Unfortunately, this runs into an oddity of the current
struct representation (using the `second' word of the vcell as a
gcmark place). I'm wondering if it's actually necessary to keep a mark
there... the cell for the struct itself is already marked, so the
object won't get traced again; the only reason I can see to keep it
around is if there is more than one struct using the same data. Even
so, if the object has already been marked, it should just finish on
the following jump to gc_mark_loop.

So, is there any reason to keep using a mark there? Without it,
sweeping could really be improved with chunklets. The only object that
currently needs any special treatment during a sweep when it is marked
is a gloc, the rest just have their marks removed.  Without that
requirement, the sweep could easily just look at the mark cells and
fix up the unmarked objects.

Also, anyone else noticing oddities with the anoncvs server? I keep
getting `cannot create temporary directory' errors.
-- 
Greg