summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2014-10-31 03:23:17 -0400
committerFather Chrysostomos <sprout@cpan.org>2014-10-31 12:37:08 -0700
commiteacbb37937698a035d5ed63fcbdf15dd4eab56cf (patch)
tree99f7dc0cbedf55df1391d054c456f5d2b52a3ae9 /gv.c
parent699ed31ec604580b23b25fc7a7fb44b59c92cbc6 (diff)
downloadperl-eacbb37937698a035d5ed63fcbdf15dd4eab56cf.tar.gz
free up CvPADLIST slot for XSUBs for future use
CvRESERVED is a placeholder, it will be replaced with a sentinal value from future revised BOOTCHECK API. CvPADLIST_set was helpful during development of this patch, so keep it around for now. PoisonPADLIST's magic value is from PERL_POISON 0xEF pattern. Some PoisonPADLIST locations will get code from future BOOTCHECK API. Make padlist_dup a NN function to avoid overhead of calling it for XSUBs during closing. Perl_cv_undef_flags's else if (CvISXSUB(&cvbody)) is to avoid whitespace changes. Filed as perl [#123059].
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gv.c b/gv.c
index 04013a522e..7abc6ccacb 100644
--- a/gv.c
+++ b/gv.c
@@ -568,6 +568,7 @@ S_maybe_add_coresub(pTHX_ HV * const stash, GV *gv,
GvCVGEN(gv) = 0;
CvISXSUB_on(cv);
CvXSUB(cv) = core_xsub;
+ PoisonPADLIST(cv);
}
CvGV_set(cv, gv); /* This stops new ATTRSUB from setting CvFILE
from PL_curcop. */