[Patches] GC infrastructure patch 2 (type changes)

Moshe Zadka Moshe Zadka <moshez@math.huji.ac.il>
Thu, 15 Jun 2000 06:05:48 +0300 (IDT)


On Wed, 14 Jun 2000, Neil Schemenauer wrote:

> This patch modifies the type structures of objects that
> participate in GC.  The object's tp_basicsize is increased when
> GC is enabled.  GC information is prefixed to the object to
> maintain binary compatibility.  GC objects also define the
> tp_flag Py_TPFLAGS_GC.

a) See my other a)

b) in 

+ /* Objects which participate in garbage collection (see objimp.h) */
+ #ifdef WITH_CYCLE_GC
+ #define Py_TPFLAGS_GC (1L<<2)
+ #else
+ #define Py_TPFLAGS_GC 0
+ #endif

What's wrong with defining Py_TPFLAGS_GC unconditionally?

c) You seem to be adding GC information to an awful lot of objects.
How much of this can be thrown out without affecting GC greatly?

Cool, anyway!
--
Moshe Zadka <moshez@math.huji.ac.il>
http://www.oreilly.com/news/prescod_0300.html
http://www.linux.org.il -- we put the penguin in .com