Redundant NULL check in profile_trampoline function (sysmodule.c)
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.