Rearranged and added comments to object.h, to clarify many things

that have taken me "too long" to reverse-engineer over the years.
Vastly reduced the nesting level and redundancy of #ifdef-ery.
Took a light stab at repairing comments that are no longer true.

sys_gettotalrefcount():  Changed to enable under Py_REF_DEBUG.
It was enabled under Py_TRACE_REFS, which was much heavier than
necessary.  sys.gettotalrefcount() is now available in a
Py_REF_DEBUG-only build.
This commit is contained in:
Tim Peters 2002-07-07 19:59:50 +00:00
parent 144dea3e05
commit 4be93d0e84
3 changed files with 133 additions and 90 deletions

View file

@ -469,11 +469,10 @@ sys_getrefcount(PyObject *self, PyObject *arg)
return PyInt_FromLong(arg->ob_refcnt);
}
#ifdef Py_TRACE_REFS
#ifdef Py_REF_DEBUG
static PyObject *
sys_gettotalrefcount(PyObject *self)
{
extern long _Py_RefTotal;
return PyInt_FromLong(_Py_RefTotal);
}
@ -564,6 +563,8 @@ static PyMethodDef sys_methods[] = {
#endif
#ifdef Py_TRACE_REFS
{"getobjects", _Py_GetObjects, METH_VARARGS},
#endif
#ifdef Py_REF_DEBUG
{"gettotalrefcount", (PyCFunction)sys_gettotalrefcount, METH_NOARGS},
#endif
{"getrefcount", (PyCFunction)sys_getrefcount, METH_O, getrefcount_doc},