[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 24 Oct 2011 19:12:29 +0200
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
I recently had another look at redoing Guile's tagging system. The goal
was to make it easier to generate native code, and clean up some nasty
things that were vestiges of the old GC. I was thinking that you could
tag the SCM values directly, for pairs and structs, instead of requiring
that tc3 bits be on the heap as well.
That all worked out, and is in the wip-retagging branch. It works fine,
except for some issue with guardians that I didn't figure out (nor spend
time on). I didn't test smob finalization either. I'm not sure if it
works or not, because the GC just sees naked pointers, so if a pointer
comes back to Guile after coming through the GC, then it won't have
those extra tag bits that are associated with the pointer and not the
memory. Dunno what to do about that.
Anyway, I merged the bits that were just cleanups to master, and left
the actual retagging on a branch. Review appreciated.