Mercurial > hg > xemacs-beta
view src/README.kkcc @ 1280:7b40ca6d2195
[xemacs-hg @ 2003-02-09 14:49:15 by youngs]
Revert this (Steve T beat me to it with a better patch)
2003-02-09 Steve Youngs <youngs@xemacs.org>
* s/darwin.h (DLSYM_NEEDS_UNDERSCORE): Define it.
From Andrew Begel <abegel@cs.berkeley.edu>
author | youngs |
---|---|
date | Sun, 09 Feb 2003 14:49:20 +0000 |
parents | e22b0213b713 |
children | ac1be85b4a5f |
line wrap: on
line source
2002-07-17 Marcus Crestani <crestani@informatik.uni-tuebingen.de> Markus Kaltenbach <makalten@informatik.uni-tuebingen.de> Mike Sperber <mike@xemacs.org> New KKCC-GC mark algorithm: configure flag : --use-kkcc For better understanding, first a few words about the mark algorithm up to now: Every Lisp_Object has its own mark method, which calls mark_object with the stuff to be marked. Also, many Lisp_Objects have pdump descriptions, which are used by the portable dumper. The dumper gets all the information it needs about the Lisp_Object from the descriptions. Also the garbage collector can use the information in the pdump descriptions, so we can get rid of the mark methods. That is what we have been doing. DUMPABLE FLAG ------------- First we added a dumpable flag to lrecord_implementation. It shows, if the object is dumpable and should be processed by the dumper. The dumpable flag is the third argument of a lrecord_implementation definition (DEFINE_LRECORD_IMPLEMENTATION). If it is set to 1, the dumper processes the descriptions and dumps the Object, if it is set to 0, the dumper does not care about it. TODO ---- After all Lisp_Objects have pdump descriptions (THEY DO NOW!!), (mark_with_description) can get rid of the mark_object calls. There are a few Lisp_Objects, where there occured differences and inexactness between the mark-method and the pdump description. All these Lisp_Objects get dumped (except image instances), so their descriptions have been written, before we started our work: * alloc.c: lcrecord_list description: mark: performs extra gc_checking_assert() for various checks. * alloc.c: cons description: car and cdr mark: cdr is marked, only if its != Qnil * alloc.c: string description: ??? mark: ??? * buffer.c: buffer description: XD_LISP_OBJECT indirect_children mark: indirect_children not marked if Qnull_pointer * eval.c: subr description: XD_DOC_STRING doc mark: empty, nothing is marked * file-coding.c: coding_system description: ??? mark: ??? * glyphs.c: image_instance description: mark: mark method sets device to nil if dead