@@ -100,14 +100,14 @@ typedef struct {
100100static PyObject *
101101gen_new (PyFrameObject * f )
102102{
103- genobject * gen = PyObject_New (genobject , & gentype );
103+ genobject * gen = PyObject_GC_New (genobject , & gentype );
104104 if (gen == NULL ) {
105105 Py_DECREF (f );
106106 return NULL ;
107107 }
108108 gen -> gi_frame = f ;
109109 gen -> gi_running = 0 ;
110- PyObject_GC_Init (gen );
110+ _PyObject_GC_TRACK (gen );
111111 return (PyObject * )gen ;
112112}
113113
@@ -120,9 +120,9 @@ gen_traverse(genobject *gen, visitproc visit, void *arg)
120120static void
121121gen_dealloc (genobject * gen )
122122{
123- PyObject_GC_Fini (gen );
123+ _PyObject_GC_UNTRACK (gen );
124124 Py_DECREF (gen -> gi_frame );
125- PyObject_Del (gen );
125+ PyObject_GC_Del (gen );
126126}
127127
128128static PyObject *
@@ -204,7 +204,7 @@ statichere PyTypeObject gentype = {
204204 PyObject_HEAD_INIT (& PyType_Type )
205205 0 , /* ob_size */
206206 "generator" , /* tp_name */
207- sizeof (genobject ) + PyGC_HEAD_SIZE , /* tp_basicsize */
207+ sizeof (genobject ), /* tp_basicsize */
208208 0 , /* tp_itemsize */
209209 /* methods */
210210 (destructor )gen_dealloc , /* tp_dealloc */
@@ -222,7 +222,7 @@ statichere PyTypeObject gentype = {
222222 PyObject_GenericGetAttr , /* tp_getattro */
223223 0 , /* tp_setattro */
224224 0 , /* tp_as_buffer */
225- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_GC , /* tp_flags */
225+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC , /* tp_flags */
226226 0 , /* tp_doc */
227227 (traverseproc )gen_traverse , /* tp_traverse */
228228 0 , /* tp_clear */
0 commit comments