Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.

This commit is contained in:
Martin v. Löwis 2009-01-07 18:40:40 +00:00
parent e6dc53120d
commit b90304acb9
5 changed files with 20 additions and 12 deletions

View File

@ -12,6 +12,8 @@ What's New in Python 2.7 alpha 1
Core and Builtins
-----------------
- Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.
- Issue #1180193: When importing a module from a .pyc (or .pyo) file with
an existing .py counterpart, override the co_filename attributes of all
code objects if the original filename is obsolete (which can happen if the

View File

@ -78,7 +78,8 @@ fill_free_list(void)
static PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
#endif
#ifdef COUNT_ALLOCS
int quick_int_allocs, quick_neg_int_allocs;
Py_ssize_t quick_int_allocs;
Py_ssize_t quick_neg_int_allocs;
#endif
PyObject *

View File

@ -81,24 +81,29 @@ static PyTypeObject *type_list;
garbage itself. If unlist_types_without_objects
is set, they will be removed from the type_list
once the last object is deallocated. */
int unlist_types_without_objects;
extern int tuple_zero_allocs, fast_tuple_allocs;
extern int quick_int_allocs, quick_neg_int_allocs;
extern int null_strings, one_strings;
static int unlist_types_without_objects;
extern Py_ssize_t tuple_zero_allocs, fast_tuple_allocs;
extern Py_ssize_t quick_int_allocs, quick_neg_int_allocs;
extern Py_ssize_t null_strings, one_strings;
void
dump_counts(FILE* f)
{
PyTypeObject *tp;
for (tp = type_list; tp; tp = tp->tp_next)
fprintf(f, "%s alloc'd: %d, freed: %d, max in use: %d\n",
fprintf(f, "%s alloc'd: %" PY_FORMAT_SIZE_T "d, "
"freed: %" PY_FORMAT_SIZE_T "d, "
"max in use: %" PY_FORMAT_SIZE_T "d\n",
tp->tp_name, tp->tp_allocs, tp->tp_frees,
tp->tp_maxalloc);
fprintf(f, "fast tuple allocs: %d, empty: %d\n",
fprintf(f, "fast tuple allocs: %" PY_FORMAT_SIZE_T "d, "
"empty: %" PY_FORMAT_SIZE_T "d\n",
fast_tuple_allocs, tuple_zero_allocs);
fprintf(f, "fast int allocs: pos: %d, neg: %d\n",
fprintf(f, "fast int allocs: pos: %" PY_FORMAT_SIZE_T "d, "
"neg: %" PY_FORMAT_SIZE_T "d\n",
quick_int_allocs, quick_neg_int_allocs);
fprintf(f, "null strings: %d, 1-strings: %d\n",
fprintf(f, "null strings: %" PY_FORMAT_SIZE_T "d, "
"1-strings: %" PY_FORMAT_SIZE_T "d\n",
null_strings, one_strings);
}

View File

@ -7,7 +7,7 @@
#include <stddef.h>
#ifdef COUNT_ALLOCS
int null_strings, one_strings;
Py_ssize_t null_strings, one_strings;
#endif
static PyStringObject *characters[UCHAR_MAX + 1];

View File

@ -19,8 +19,8 @@ static PyTupleObject *free_list[PyTuple_MAXSAVESIZE];
static int numfree[PyTuple_MAXSAVESIZE];
#endif
#ifdef COUNT_ALLOCS
int fast_tuple_allocs;
int tuple_zero_allocs;
Py_ssize_t fast_tuple_allocs;
Py_ssize_t tuple_zero_allocs;
#endif
PyObject *