From: Antoine Pitrou Date: Mon, 23 Mar 2009 19:17:00 +0000 (+0000) Subject: The tracking statistics were actually too pessimistic X-Git-Tag: v2.7a1~1817 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fba62427cdf51788125386aa3d603c6ae74e7e3;p=thirdparty%2FPython%2Fcpython.git The tracking statistics were actually too pessimistic --- diff --git a/Objects/dictobject.c b/Objects/dictobject.c index 5069c76398c5..931b1fca06ed 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -498,6 +498,7 @@ _PyDict_MaybeUntrack(PyObject *op) _PyObject_GC_MAY_BE_TRACKED(ep[i].me_key)) return; } + DECREASE_TRACK_COUNT _PyObject_GC_UNTRACK(op); } diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index 644d8a92f696..0a9c71835f9f 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -50,9 +50,6 @@ PyTuple_New(register Py_ssize_t size) { register PyTupleObject *op; Py_ssize_t i; -#ifdef SHOW_TRACK_COUNT - count_tracked++; -#endif if (size < 0) { PyErr_BadInternalCall(); return NULL; @@ -103,6 +100,9 @@ PyTuple_New(register Py_ssize_t size) ++numfree[0]; Py_INCREF(op); /* extra INCREF so that this is never freed */ } +#endif +#ifdef SHOW_TRACK_COUNT + count_tracked++; #endif _PyObject_GC_TRACK(op); return (PyObject *) op;