all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* new GC
@ 2003-06-16 21:55 Dave Love
  0 siblings, 0 replies; only message in thread
From: Dave Love @ 2003-06-16 21:55 UTC (permalink / raw)


There's work on a new GC system installed on CVS branch `Boehm-GC'
which anyone interested in GC and fairly knowledgeable about GC might
like to look at.  It still needs significant work, and I probably
won't have enough time to devote to it for a while.  There are some
disorganized and probably incomplete notes in the top-level README.GC.

It uses Boehm's fully conservative GC, which should be able to perform
better than the current system, at least in time, if not in space.
[People have said it won't work, but I've never seen any good
arguments why, as for conservative stack scanning.]  The code isn't in
a state to measure and tune, but there doesn't seem to be any
fundamental problem.

Emacs basically works if you configure with --enable-boehm-gc, but
leaks badly.  That's at least because of buffer marker chains not
getting swept, though there may be other causes.  Changes can be
enabled which should fix this, but that currently causes a crash after
GC which I haven't been able to debug yet.  It could do with a second
set of eyes on the result of enabling the #ifdef'ed out clause for
GC_MARK_OBJECT in lisp.h.  (Boehm said the basic technique is sound,
so it's likely to be a stupid mistake making it fail, but the tagging
scheme Emacs uses means that the GC debugging hooks won't work
currently.)

If anyone does start working on it, please send me mail.  I'll try to
answer specific questions, but I don't have time to explain the GC
generally.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-06-16 21:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-16 21:55 new GC Dave Love

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.