Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pp_return: simplify arg handling code
pp_return() only needs to do the extra arg handling associated with the args not being at the base of the stack frame. For example for (1,2) { return 3,4 } has to cope with 1,2,3,4 being on the stack. Apart from handling junk, everything else - in particular pushing &PL_sv_undef in scalar context if there are no return args - is already done by Perl_pp_leavesub, which pp_return tail calls. So reduce what pp_return does to the bare minimum. This makes one less conditional branch in a few cases.
- Loading branch information