Steve Fink wrote: > > This is a first in a series of patches implementing hashtables. > > This patch allows the creation of variable-sized Buffer subclasses via > new_tracked_header(). It automatically creates a new Resource_Pool for > each size requested. For fast access and easy implementation, the > resource pools are kept in an array that is resized as needed. > > This patch also adds mark_used() to the resources.h interface (it is > needed for custom mark routines), and adds a new flag > BUFFER_report_FLAG that may be set on a buffer to generate a debugging > printout whenever the buffer is encountered during compaction. They're > not related to the rest of the patch, but they were in the same file > and were pretty small, so I slipped them in. > > Note that this patch aims at minimal invasiveness. If the idea is > accepted, then probably all Buffer subclasses (including non-constant > STRINGs) that are subject to collection should be placed into the > sized pools, and arena_base->*_header_pool should just be cached > aliases of the appropriate pool. That would eliminate a bunch of > duplicated code in resources.c. It's a trivial change; I'll send a > revised patch if people like the idea. > > All tests still pass with this applied. Unsurprising, since nothing > calls the code at this point.
Changes (hopefully) tonight should make this stuff useful. Applied, thanks. -- Jeff <[EMAIL PROTECTED]>