◐ Shell
clean mode source ↗

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.

Linked PRs