[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 */