This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
use cv_set_call_checker_flags() where possible
authorZefram <zefram@fysh.org>
Tue, 8 Aug 2017 19:06:11 +0000 (20:06 +0100)
committerZefram <zefram@fysh.org>
Tue, 8 Aug 2017 20:38:16 +0000 (21:38 +0100)
commita83b92fa8845fe243b594cefd53ec906a9de17a6
tree94cebd94116c4f4eefb2a73e63ebc0fe62794552
parent71c697dea4f5a96ca9a9867eef07455c74f502f5
use cv_set_call_checker_flags() where possible

Call checkers established by core code were being set through
cv_set_call_checker(), so requiring GVs to be created in some cases where
they could be avoided.  Make all the checkers non-GV-namegv capable,
and set them with cv_set_call_checker_flags().

The checkers for Devel::Peek::Dump() and
utf8::{unicode_to_native,native_to_unicode}() were already fit to handle
non-GV names, so required no changes.  The checker for CORE:: subs,
ck_entersub_args_core(), was naughtily using the name to decide which sub
it was dealing with in some cases, so move that information into the ckobj
that was already being used to identify the sub in most cases.  It also
required reformulation of some error reporting code to use cv_name().
ext/Devel-Peek/Peek.pm
ext/Devel-Peek/Peek.xs
gv.c
op.c
universal.c