diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-08-22 16:24:37 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-08-22 16:24:37 -0700 |
commit | c44737a23e8184d44143ac18e378a12912e6e9e8 (patch) | |
tree | f98cabf338baedd2fffebf172ef50d8f2047f383 /pad.c | |
parent | a91428a4cd72ac808bcbe6f7ef7fc9fe7971c938 (diff) | |
download | perl-c44737a23e8184d44143ac18e378a12912e6e9e8.tar.gz |
pad.[ch]: PADNAME_OUTER
I think this is the last bit of pad-as-sv stuff that was not
abstracted away in pad-specific macros.
Diffstat (limited to 'pad.c')
-rw-r--r-- | pad.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -85,7 +85,8 @@ SvOURSTASH slot pointing at the stash of the associated global (so that duplicate C<our> declarations in the same package can be detected). SvUVX is sometimes hijacked to store the generation number during compilation. -If SvFAKE is set on the name SV, then that slot in the frame AV is +If PADNAME_OUTER (SvFAKE) is set on the +name SV, then that slot in the frame AV is a REFCNT'ed reference to a lexical from "outside". In this case, the name SV does not use xlow and xhigh to store a cop_seq range, since it is in scope throughout. Instead xhigh stores some flags containing info about @@ -96,7 +97,8 @@ cloning quicker. If the 'name' is '&' the corresponding entry in the PAD is a CV representing a possible closure. -(SvFAKE and name of '&' is not a meaningful combination currently but could +(PADNAME_OUTER and name of '&' is not a +meaningful combination currently but could become so if C<my sub foo {}> is implemented.) Note that formats are treated as anon subs, and are cloned each time |