diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-11-21 02:12:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-21 02:12:22 (GMT) |
commit | 25420fe290b98171e6d30edf9350292c21ef700e (patch) | |
tree | 265d725ef6c341501f38873266c91e7461fd0364 /Objects | |
parent | 09f3a8a1249308a104a89041d82fe99e6c087043 (diff) | |
download | cpython-25420fe290b98171e6d30edf9350292c21ef700e.zip cpython-25420fe290b98171e6d30edf9350292c21ef700e.tar.gz cpython-25420fe290b98171e6d30edf9350292c21ef700e.tar.bz2 |
bpo-32030: Add more options to _PyCoreConfig (#4485)
Py_Main() now handles two more -X options:
* -X showrefcount: new _PyCoreConfig.show_ref_count field
* -X showalloccount: new _PyCoreConfig.show_alloc_count field
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/listobject.c | 11 | ||||
-rw-r--r-- | Objects/object.c | 23 | ||||
-rw-r--r-- | Objects/tupleobject.c | 11 |
3 files changed, 9 insertions, 36 deletions
diff --git a/Objects/listobject.c b/Objects/listobject.c index 7eba61e..8576b7a 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -85,15 +85,10 @@ static size_t count_reuse = 0; static void show_alloc(void) { - PyObject *xoptions, *value; - _Py_IDENTIFIER(showalloccount); - - xoptions = PySys_GetXOptions(); - if (xoptions == NULL) - return; - value = _PyDict_GetItemId(xoptions, &PyId_showalloccount); - if (value != Py_True) + PyInterpreterState *interp = PyThreadState_GET()->interp; + if (!inter->core_config.show_alloc_count) { return; + } fprintf(stderr, "List allocations: %" PY_FORMAT_SIZE_T "d\n", count_alloc); diff --git a/Objects/object.c b/Objects/object.c index ed8a62a..674180d 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -29,17 +29,6 @@ _Py_GetRefTotal(void) return total; } -PyObject * -_PyDebug_XOptionShowRefCount(void) -{ - PyObject *xoptions = PySys_GetXOptions(); - if (xoptions == NULL) - return NULL; - - _Py_IDENTIFIER(showrefcount); - return _PyDict_GetItemId(xoptions, &PyId_showrefcount); -} - void _PyDebug_PrintTotalRefs(void) { fprintf(stderr, @@ -106,16 +95,10 @@ extern Py_ssize_t null_strings, one_strings; void dump_counts(FILE* f) { - PyTypeObject *tp; - PyObject *xoptions, *value; - _Py_IDENTIFIER(showalloccount); - - xoptions = PySys_GetXOptions(); - if (xoptions == NULL) - return; - value = _PyDict_GetItemId(xoptions, &PyId_showalloccount); - if (value != Py_True) + PyInterpreterState *interp = PyThreadState_GET()->interp; + if (!inter->core_config.show_alloc_count) { return; + } for (tp = type_list; tp; tp = tp->tp_next) fprintf(f, "%s alloc'd: %" PY_FORMAT_SIZE_T "d, " diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index 35decd8..964db3b 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -44,15 +44,10 @@ static Py_ssize_t count_tracked = 0; static void show_track(void) { - PyObject *xoptions, *value; - _Py_IDENTIFIER(showalloccount); - - xoptions = PySys_GetXOptions(); - if (xoptions == NULL) - return; - value = _PyDict_GetItemId(xoptions, &PyId_showalloccount); - if (value != Py_True) + PyInterpreterState *interp = PyThreadState_GET()->interp; + if (!inter->core_config.show_alloc_count) { return; + } fprintf(stderr, "Tuples created: %" PY_FORMAT_SIZE_T "d\n", count_tracked + count_untracked); |