mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Less ugly #ifdefs for C profiling fix
This commit is contained in:
parent
bbffbd1983
commit
941b8bc41a
1 changed files with 5 additions and 12 deletions
|
@ -3438,6 +3438,7 @@ err_args(PyObject *func, int flags, int nargs)
|
||||||
nargs);
|
nargs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_C_PROF
|
||||||
#define BEGIN_C_TRACE \
|
#define BEGIN_C_TRACE \
|
||||||
if (tstate->use_tracing) { \
|
if (tstate->use_tracing) { \
|
||||||
if (tstate->c_profilefunc != NULL) { \
|
if (tstate->c_profilefunc != NULL) { \
|
||||||
|
@ -3472,6 +3473,10 @@ if (tstate->use_tracing) { \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define BEGIN_C_TRACE
|
||||||
|
#define END_C_TRACE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
|
@ -3503,23 +3508,15 @@ call_function(PyObject ***pp_stack, int oparg
|
||||||
PyCFunction meth = PyCFunction_GET_FUNCTION(func);
|
PyCFunction meth = PyCFunction_GET_FUNCTION(func);
|
||||||
PyObject *self = PyCFunction_GET_SELF(func);
|
PyObject *self = PyCFunction_GET_SELF(func);
|
||||||
if (flags & METH_NOARGS && na == 0) {
|
if (flags & METH_NOARGS && na == 0) {
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
BEGIN_C_TRACE
|
BEGIN_C_TRACE
|
||||||
#endif
|
|
||||||
x = (*meth)(self, NULL);
|
x = (*meth)(self, NULL);
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
END_C_TRACE
|
END_C_TRACE
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if (flags & METH_O && na == 1) {
|
else if (flags & METH_O && na == 1) {
|
||||||
PyObject *arg = EXT_POP(*pp_stack);
|
PyObject *arg = EXT_POP(*pp_stack);
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
BEGIN_C_TRACE
|
BEGIN_C_TRACE
|
||||||
#endif
|
|
||||||
x = (*meth)(self, arg);
|
x = (*meth)(self, arg);
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
END_C_TRACE
|
END_C_TRACE
|
||||||
#endif
|
|
||||||
Py_DECREF(arg);
|
Py_DECREF(arg);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -3530,9 +3527,7 @@ call_function(PyObject ***pp_stack, int oparg
|
||||||
else {
|
else {
|
||||||
PyObject *callargs;
|
PyObject *callargs;
|
||||||
callargs = load_args(pp_stack, na);
|
callargs = load_args(pp_stack, na);
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
BEGIN_C_TRACE
|
BEGIN_C_TRACE
|
||||||
#endif
|
|
||||||
#ifdef WITH_TSC
|
#ifdef WITH_TSC
|
||||||
rdtscll(*pintr0);
|
rdtscll(*pintr0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -3540,9 +3535,7 @@ call_function(PyObject ***pp_stack, int oparg
|
||||||
#ifdef WITH_TSC
|
#ifdef WITH_TSC
|
||||||
rdtscll(*pintr1);
|
rdtscll(*pintr1);
|
||||||
#endif
|
#endif
|
||||||
#ifdef WITH_C_PROF
|
|
||||||
END_C_TRACE
|
END_C_TRACE
|
||||||
#endif
|
|
||||||
Py_XDECREF(callargs);
|
Py_XDECREF(callargs);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue