Kaydet (Commit) b90304ac authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.

üst e6dc5312
...@@ -12,6 +12,8 @@ What's New in Python 2.7 alpha 1 ...@@ -12,6 +12,8 @@ What's New in Python 2.7 alpha 1
Core and Builtins 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 - Issue #1180193: When importing a module from a .pyc (or .pyo) file with
an existing .py counterpart, override the co_filename attributes of all an existing .py counterpart, override the co_filename attributes of all
code objects if the original filename is obsolete (which can happen if the code objects if the original filename is obsolete (which can happen if the
......
...@@ -78,7 +78,8 @@ fill_free_list(void) ...@@ -78,7 +78,8 @@ fill_free_list(void)
static PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS]; static PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
#endif #endif
#ifdef COUNT_ALLOCS #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 #endif
PyObject * PyObject *
......
...@@ -81,24 +81,29 @@ static PyTypeObject *type_list; ...@@ -81,24 +81,29 @@ static PyTypeObject *type_list;
garbage itself. If unlist_types_without_objects garbage itself. If unlist_types_without_objects
is set, they will be removed from the type_list is set, they will be removed from the type_list
once the last object is deallocated. */ once the last object is deallocated. */
int unlist_types_without_objects; static int unlist_types_without_objects;
extern int tuple_zero_allocs, fast_tuple_allocs; extern Py_ssize_t tuple_zero_allocs, fast_tuple_allocs;
extern int quick_int_allocs, quick_neg_int_allocs; extern Py_ssize_t quick_int_allocs, quick_neg_int_allocs;
extern int null_strings, one_strings; extern Py_ssize_t null_strings, one_strings;
void void
dump_counts(FILE* f) dump_counts(FILE* f)
{ {
PyTypeObject *tp; PyTypeObject *tp;
for (tp = type_list; tp; tp = tp->tp_next) 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_name, tp->tp_allocs, tp->tp_frees,
tp->tp_maxalloc); 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); 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); 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); null_strings, one_strings);
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include <stddef.h> #include <stddef.h>
#ifdef COUNT_ALLOCS #ifdef COUNT_ALLOCS
int null_strings, one_strings; Py_ssize_t null_strings, one_strings;
#endif #endif
static PyStringObject *characters[UCHAR_MAX + 1]; static PyStringObject *characters[UCHAR_MAX + 1];
......
...@@ -19,8 +19,8 @@ static PyTupleObject *free_list[PyTuple_MAXSAVESIZE]; ...@@ -19,8 +19,8 @@ static PyTupleObject *free_list[PyTuple_MAXSAVESIZE];
static int numfree[PyTuple_MAXSAVESIZE]; static int numfree[PyTuple_MAXSAVESIZE];
#endif #endif
#ifdef COUNT_ALLOCS #ifdef COUNT_ALLOCS
int fast_tuple_allocs; Py_ssize_t fast_tuple_allocs;
int tuple_zero_allocs; Py_ssize_t tuple_zero_allocs;
#endif #endif
PyObject * PyObject *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment