On Tue, Nov 08, 2005 at 07:51:38AM -0600, Ben Wing wrote:
Marcus, does this mean it's possible to allocate an array of Lisp
Objects (i.e. pointers, not an array of actual objects themselves),
with a pointer to it from a Lisp Object, and have it handled properly by
kkcc/mc-alloc/new-gc? This would solve many of the problems of my char
table. ideally, this could work recursively -- you could allocate an
array of pointers to arrays of Lisp Objects and have new-gc and friends
handle this upper array as well. but even if i can do this just at the
lowest level, it will be a big win, since that's where most of the
subtables will occur.
If you do the allocation yourself and use an XD_BLOCK_PTR with an
appropriate sized_memory_description in the Lisp Object it should work
as is, even recursively. In any case, pdump handles it and it's
supposed to be the picky one of the two.
"handled properly by kkcc" means that kkcc
recognizes if it's seen this array before and doesn't retraverse it if so.
Multiple traversal would be a bug. Nothing would prevent a loop.