Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit af584a0

Browse files
committed
Merge 3.5 (_tracemalloc)
2 parents 89e7cdc + 9528334 commit af584a0

1 file changed

Lines changed: 7 additions & 17 deletions

File tree

Modules/_tracemalloc.c

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ _declspec(align(4))
6868
/* filename cannot be NULL: "<unknown>" is used if the Python frame
6969
filename is NULL */
7070
PyObject *filename;
71-
int lineno;
71+
unsigned int lineno;
7272
} frame_t;
7373

7474
typedef struct {
@@ -268,12 +268,13 @@ tracemalloc_get_frame(PyFrameObject *pyframe, frame_t *frame)
268268
PyCodeObject *code;
269269
PyObject *filename;
270270
_Py_hashtable_entry_t *entry;
271+
int lineno;
271272

272273
frame->filename = unknown_filename;
273-
frame->lineno = PyFrame_GetLineNumber(pyframe);
274-
assert(frame->lineno >= 0);
275-
if (frame->lineno < 0)
276-
frame->lineno = 0;
274+
lineno = PyFrame_GetLineNumber(pyframe);
275+
if (lineno < 0)
276+
lineno = 0;
277+
frame->lineno = (unsigned int)lineno;
277278

278279
code = pyframe->f_code;
279280
if (code == NULL) {
@@ -377,7 +378,6 @@ traceback_get_frames(traceback_t *traceback)
377378
for (pyframe = tstate->frame; pyframe != NULL; pyframe = pyframe->f_back) {
378379
tracemalloc_get_frame(pyframe, &traceback->frames[traceback->nframe]);
379380
assert(traceback->frames[traceback->nframe].filename != NULL);
380-
assert(traceback->frames[traceback->nframe].lineno >= 0);
381381
traceback->nframe++;
382382
if (traceback->nframe == tracemalloc_config.max_nframe)
383383
break;
@@ -941,15 +941,6 @@ tracemalloc_stop(void)
941941
tracemalloc_traceback = NULL;
942942
}
943943

944-
static PyObject*
945-
lineno_as_obj(int lineno)
946-
{
947-
if (lineno >= 0)
948-
return PyLong_FromLong(lineno);
949-
else
950-
Py_RETURN_NONE;
951-
}
952-
953944
PyDoc_STRVAR(tracemalloc_is_tracing_doc,
954945
"is_tracing()->bool\n"
955946
"\n"
@@ -992,8 +983,7 @@ frame_to_pyobject(frame_t *frame)
992983
Py_INCREF(frame->filename);
993984
PyTuple_SET_ITEM(frame_obj, 0, frame->filename);
994985

995-
assert(frame->lineno >= 0);
996-
lineno_obj = lineno_as_obj(frame->lineno);
986+
lineno_obj = PyLong_FromUnsignedLong(frame->lineno);
997987
if (lineno_obj == NULL) {
998988
Py_DECREF(frame_obj);
999989
return NULL;

0 commit comments

Comments
 (0)