nargs);
}
+#ifdef WITH_C_PROF
#define BEGIN_C_TRACE \
if (tstate->use_tracing) { \
if (tstate->c_profilefunc != NULL) { \
} \
} \
}
+#else
+#define BEGIN_C_TRACE
+#define END_C_TRACE
+#endif
static PyObject *
PyCFunction meth = PyCFunction_GET_FUNCTION(func);
PyObject *self = PyCFunction_GET_SELF(func);
if (flags & METH_NOARGS && na == 0) {
-#ifdef WITH_C_PROF
BEGIN_C_TRACE
-#endif
x = (*meth)(self, NULL);
-#ifdef WITH_C_PROF
END_C_TRACE
-#endif
}
else if (flags & METH_O && na == 1) {
PyObject *arg = EXT_POP(*pp_stack);
-#ifdef WITH_C_PROF
BEGIN_C_TRACE
-#endif
x = (*meth)(self, arg);
-#ifdef WITH_C_PROF
END_C_TRACE
-#endif
Py_DECREF(arg);
}
else {
else {
PyObject *callargs;
callargs = load_args(pp_stack, na);
-#ifdef WITH_C_PROF
BEGIN_C_TRACE
-#endif
#ifdef WITH_TSC
rdtscll(*pintr0);
#endif
#ifdef WITH_TSC
rdtscll(*pintr1);
#endif
-#ifdef WITH_C_PROF
END_C_TRACE
-#endif
Py_XDECREF(callargs);
}
} else {