summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-21 02:12:22 (GMT)
committerGitHub <noreply@github.com>2017-11-21 02:12:22 (GMT)
commit25420fe290b98171e6d30edf9350292c21ef700e (patch)
tree265d725ef6c341501f38873266c91e7461fd0364 /Objects
parent09f3a8a1249308a104a89041d82fe99e6c087043 (diff)
downloadcpython-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.c11
-rw-r--r--Objects/object.c23
-rw-r--r--Objects/tupleobject.c11
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);