This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PERL_UNUSED_CONTEXT -> remove interp context where possible
authorDaniel Dragan <bulk88@hotmail.com>
Sun, 15 Jun 2014 21:49:32 +0000 (17:49 -0400)
committerTony Cook <tony@develop-help.com>
Tue, 24 Jun 2014 05:30:11 +0000 (15:30 +1000)
commitddeaf6457db7d0d56f0cc5a6452effef1d1a0f2f
tree7e77c495dc08f1dd859592352f55e32398a3113c
parent21134f66d28b7acf8dde08e536e8b4ee120ea3af
PERL_UNUSED_CONTEXT -> remove interp context where possible

Removing context params will save machine code in the callers of these
functions, and 1 ptr of stack space. Some of these funcs are heavily used
as mg_find*. The contexts can always be readded in the future the same way
they were removed. This patch inspired by commit dc3bf40570. Also remove
PERL_UNUSED_CONTEXT when its not needed. See removal candidate rejection
rational in [perl #122106].

-Perl_hv_backreferences_p uses context in S_hv_auxinit
 commit 96a5add60f was wrong
-Perl_whichsig_sv and Perl_whichsig_pv wrongly used PERL_UNUSED_CONTEXT
 from inception in commit 84c7b88cca
-in authors opinion cast_* shouldn't be public API, no CPAN grep usage,
 can't be static and/or inline optimized since it is exported
-Perl_my_unexec move to block where it is needed, make Win32 block, context
 free, for inlining likelyhood, private api and only 2 callers in core
-Perl_my_dirfd make all blocks context free, then change proto
-Perl_bytes_cmp_utf8 wrongly used PERL_UNUSED_CONTEXT
 from inception in commit fed3ba5d6b
15 files changed:
dquote_static.c
embed.fnc
embed.h
hv.c
mg.c
numeric.c
op.c
perl.c
pod/perldelta.pod
pp.c
proto.h
sv.c
toke.c
utf8.c
util.c