]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Remove unnecessary GC support. Sets cannot have cycles.
authorRaymond Hettinger <python@rcn.com>
Sun, 13 Jun 2004 08:20:46 +0000 (08:20 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 13 Jun 2004 08:20:46 +0000 (08:20 +0000)
Objects/setobject.c

index 47415e6983fee21587bcf10f580109f53f1775cf..3dc11d4e2c0c546643726a83c0780190cc4a692d 100644 (file)
@@ -114,21 +114,12 @@ frozenset_dict_wrapper(PyObject *d)
 static void
 set_dealloc(PySetObject *so)
 {
-       PyObject_GC_UnTrack(so);
        if (so->weakreflist != NULL)
                PyObject_ClearWeakRefs((PyObject *) so);
        Py_XDECREF(so->data);
        so->ob_type->tp_free(so);
 }
 
-static int
-set_traverse(PySetObject *so, visitproc visit, void *arg)
-{
-       if (so->data)
-               return visit(so->data, arg);
-       return 0;
-}
-
 static PyObject *
 set_iter(PySetObject *so)
 {
@@ -1017,11 +1008,11 @@ PyTypeObject PySet_Type = {
        PyObject_GenericGetAttr,        /* tp_getattro */
        0,                              /* tp_setattro */
        0,                              /* tp_as_buffer */
-       Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_CHECKTYPES |
+       Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES |
                Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_WEAKREFS, /* tp_flags */
        set_doc,                        /* tp_doc */
-       (traverseproc)set_traverse,     /* tp_traverse */
-       (inquiry)set_tp_clear,          /* tp_clear */
+       0,                              /* tp_traverse */
+       0,                              /* tp_clear */
        (richcmpfunc)set_richcompare,   /* tp_richcompare */
        offsetof(PySetObject, weakreflist),     /* tp_weaklistoffset */
        (getiterfunc)set_iter,          /* tp_iter */
@@ -1037,7 +1028,7 @@ PyTypeObject PySet_Type = {
        (initproc)set_init,             /* tp_init */
        PyType_GenericAlloc,            /* tp_alloc */
        set_new,                        /* tp_new */
-       PyObject_GC_Del,                /* tp_free */
+       PyObject_Del,                   /* tp_free */
 };
 
 /* frozenset object ********************************************************/
@@ -1112,10 +1103,10 @@ PyTypeObject PyFrozenSet_Type = {
        PyObject_GenericGetAttr,        /* tp_getattro */
        0,                              /* tp_setattro */
        0,                              /* tp_as_buffer */
-       Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_CHECKTYPES |
+       Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES |
                Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_WEAKREFS, /* tp_flags */
        frozenset_doc,                  /* tp_doc */
-       (traverseproc)set_traverse,     /* tp_traverse */
+       0,                              /* tp_traverse */
        0,                              /* tp_clear */
        (richcmpfunc)set_richcompare,   /* tp_richcompare */
        offsetof(PySetObject, weakreflist),     /* tp_weaklistoffset */
@@ -1132,5 +1123,5 @@ PyTypeObject PyFrozenSet_Type = {
        0,                              /* tp_init */
        PyType_GenericAlloc,            /* tp_alloc */
        frozenset_new,                  /* tp_new */
-       PyObject_GC_Del,                /* tp_free */
+       PyObject_Del,                   /* tp_free */
 };