Fix sys.getdxp() when configured with --enable-pystats. (GH-31251)

This commit is contained in:
Mark Shannon 2022-02-10 12:14:57 +00:00 committed by GitHub
parent b0662ae5c8
commit 4f21d528f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7459,7 +7459,7 @@ _Py_GetDXProfile(PyObject *self, PyObject *args)
int i;
PyObject *l = PyList_New(257);
if (l == NULL) return NULL;
for (i = 0; i < 257; i++) {
for (i = 0; i < 256; i++) {
PyObject *x = getarray(_py_stats.opcode_stats[i].pair_count);
if (x == NULL) {
Py_DECREF(l);
@ -7467,6 +7467,22 @@ _Py_GetDXProfile(PyObject *self, PyObject *args)
}
PyList_SET_ITEM(l, i, x);
}
PyObject *counts = PyList_New(256);
if (counts == NULL) {
Py_DECREF(l);
return NULL;
}
for (i = 0; i < 256; i++) {
PyObject *x = PyLong_FromUnsignedLongLong(
_py_stats.opcode_stats[i].execution_count);
if (x == NULL) {
Py_DECREF(counts);
Py_DECREF(l);
return NULL;
}
PyList_SET_ITEM(counts, i, x);
}
PyList_SET_ITEM(l, 256, counts);
return l;
}