Kaydet (Commit) 941b8bc4 authored tarafından Nicholas Bastin's avatar Nicholas Bastin

Less ugly #ifdefs for C profiling fix

üst bbffbd19
...@@ -3438,6 +3438,7 @@ err_args(PyObject *func, int flags, int nargs) ...@@ -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) { \ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment