[Python-checkins] CVS: python/dist/src/Objects funcobject.c,2.41,2.42
Neil Schemenauer
nascheme@users.sourceforge.net
Wed, 29 Aug 2001 16:52:34 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv3402/Objects
Modified Files:
funcobject.c
Log Message:
Use new GC API.
Index: funcobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/funcobject.c,v
retrieving revision 2.41
retrieving revision 2.42
diff -C2 -d -r2.41 -r2.42
*** funcobject.c 2001/08/24 18:34:26 2.41
--- funcobject.c 2001/08/29 23:52:31 2.42
***************
*** 10,14 ****
PyFunction_New(PyObject *code, PyObject *globals)
{
! PyFunctionObject *op = PyObject_NEW(PyFunctionObject,
&PyFunction_Type);
if (op != NULL) {
--- 10,14 ----
PyFunction_New(PyObject *code, PyObject *globals)
{
! PyFunctionObject *op = PyObject_GC_New(PyFunctionObject,
&PyFunction_Type);
if (op != NULL) {
***************
*** 38,42 ****
else
return NULL;
! PyObject_GC_Init(op);
return (PyObject *)op;
}
--- 38,42 ----
else
return NULL;
! _PyObject_GC_TRACK(op);
return (PyObject *)op;
}
***************
*** 224,229 ****
func_dealloc(PyFunctionObject *op)
{
PyObject_ClearWeakRefs((PyObject *) op);
- PyObject_GC_Fini(op);
Py_DECREF(op->func_code);
Py_DECREF(op->func_globals);
--- 224,229 ----
func_dealloc(PyFunctionObject *op)
{
+ _PyObject_GC_UNTRACK(op);
PyObject_ClearWeakRefs((PyObject *) op);
Py_DECREF(op->func_code);
Py_DECREF(op->func_globals);
***************
*** 233,238 ****
Py_XDECREF(op->func_dict);
Py_XDECREF(op->func_closure);
! op = (PyFunctionObject *) PyObject_AS_GC(op);
! PyObject_DEL(op);
}
--- 233,237 ----
Py_XDECREF(op->func_dict);
Py_XDECREF(op->func_closure);
! PyObject_GC_Del(op);
}
***************
*** 353,357 ****
0,
"function",
! sizeof(PyFunctionObject) + PyGC_HEAD_SIZE,
0,
(destructor)func_dealloc, /* tp_dealloc */
--- 352,356 ----
0,
"function",
! sizeof(PyFunctionObject),
0,
(destructor)func_dealloc, /* tp_dealloc */
***************
*** 370,374 ****
func_setattro, /* tp_setattro */
0, /* tp_as_buffer */
! Py_TPFLAGS_DEFAULT | Py_TPFLAGS_GC, /* tp_flags */
0, /* tp_doc */
(traverseproc)func_traverse, /* tp_traverse */
--- 369,373 ----
func_setattro, /* tp_setattro */
0, /* tp_as_buffer */
! Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,/* tp_flags */
0, /* tp_doc */
(traverseproc)func_traverse, /* tp_traverse */