|
Expand Up
|
@@ -1078,6 +1078,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int |
|
|
#endif |
|
|
/* Because this avoids the RESUME, we need to update instrumentation */ |
|
|
_Py_Instrument(_PyFrame_GetCode(frame), tstate->interp); |
|
|
DTRACE_FUNCTION_ENTRY(); |
|
|
next_instr = frame->instr_ptr; |
|
|
monitor_throw(tstate, frame, next_instr); |
|
|
stack_pointer = _PyFrame_GetStackPointer(frame); |
|
Expand All
|
@@ -1097,6 +1098,8 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int |
|
|
_PyExecutorObject *current_executor = NULL; |
|
|
const _PyUOpInstruction *next_uop = NULL; |
|
|
#endif |
|
|
DTRACE_FUNCTION_ENTRY(); |
|
|
|
|
|
#if Py_TAIL_CALL_INTERP |
|
|
# if Py_STATS |
|
|
return _TAIL_CALL_start_frame(frame, NULL, tstate, NULL, 0, lastopcode); |
|
Expand Down
Expand Up
|
@@ -3279,6 +3282,37 @@ PyUnstable_Eval_RequestCodeExtraIndex(freefunc free) |
|
|
return new_index; |
|
|
} |
|
|
|
|
|
|
|
|
static void |
|
|
dtrace_function_entry(_PyInterpreterFrame *frame) |
|
|
{ |
|
|
const char *filename; |
|
|
const char *funcname; |
|
|
int lineno; |
|
|
|
|
|
PyCodeObject *code = _PyFrame_GetCode(frame); |
|
|
filename = PyUnicode_AsUTF8(code->co_filename); |
|
|
funcname = PyUnicode_AsUTF8(code->co_name); |
|
|
lineno = PyUnstable_InterpreterFrame_GetLine(frame); |
|
|
|
|
|
PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno); |
Comment thread
picnixz marked this conversation as resolved.
Resolved
Uh oh!
There was an error while loading. Please reload this page.
|
|
|
} |
|
|
|
|
|
static void |
|
|
dtrace_function_return(_PyInterpreterFrame *frame) |
|
|
{ |
|
|
const char *filename; |
|
|
const char *funcname; |
|
|
int lineno; |
|
|
|
|
|
PyCodeObject *code = _PyFrame_GetCode(frame); |
|
|
filename = PyUnicode_AsUTF8(code->co_filename); |
|
|
funcname = PyUnicode_AsUTF8(code->co_name); |
|
|
lineno = PyUnstable_InterpreterFrame_GetLine(frame); |
|
|
|
|
|
PyDTrace_FUNCTION_RETURN(filename, funcname, lineno); |
Comment thread
picnixz marked this conversation as resolved.
Resolved
Uh oh!
There was an error while loading. Please reload this page.
|
|
|
} |
|
|
|
|
|
/* Implement Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as functions |
|
|
for the limited API. */ |
|
|
|
|
Expand Down
|
|