Code in profile_trampoline function checks if arg argument value is equal to NULL and in this case assigns Py_None to it
|
if (arg == NULL) { |
|
arg = Py_None; |
|
} |
The only place where
arg is used in
profile_trampoline is this call
|
PyObject *result = call_trampoline(tstate, self, frame, what, arg); |
But similar check is already done by
call_trampoline function
|
stack[2] = (arg != NULL) ? arg : Py_None; |
My suggestion is to remove excess check from profile_trampoline.
Linked PRs