This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add Perl_clear_defarray()
authorDavid Mitchell <davem@iabyn.com>
Sat, 11 Jul 2015 09:40:23 +0000 (10:40 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 3 Feb 2016 08:59:35 +0000 (08:59 +0000)
commit6e45d8466dd324149902764d87ad245baa32abb6
treed3b96934379182aaf8238bed234f5d4a87dcb99c
parent1312203610da7e0b5c8c8cf7747f48d67b22f988
add Perl_clear_defarray()

This function implements the less commonly used branch in the POPSUB()
macro that clears @_ in place, or abandons it and creates a new array
in pad slot 0 of the function (the common branch is where @_ hasn't been
reified, and so can be clered simply by setting fill to -1).

By moving this out to a separate function we can avoid repeating the same
code everywhere the POPSUB macro is used; but since its only used
in the less frequent cases, the extra overall of a function call doesn't
matter.

It has a currently unused arg, 'abandon', which will be used shortly.
cop.h
embed.fnc
embed.h
pp_hot.c
proto.h