diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-27 22:30:54 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-30 11:48:42 -0800 |
commit | 0f94cb1fe27e58a59d3391214dab34037ab184db (patch) | |
tree | 00f43fa153a153b7e2a1d1728b6a9880264fa132 /embed.fnc | |
parent | b19cb98db58c735b4237857f7f69fd857d61934a (diff) | |
download | perl-0f94cb1fe27e58a59d3391214dab34037ab184db.tar.gz |
[perl #123223] Make PADNAME a separate type
distinct from SV. This should fix the CPAN modules that were failing
when the PadnameLVALUE flag was added, because it shared the same
bit as SVs_OBJECT and pad names were going through code paths not
designed to handle pad names.
Unfortunately, it will probably break other CPAN modules, but I think
this change is for the better, as it makes both pad names and SVs sim-
pler and makes pad names take less memory.
Diffstat (limited to 'embed.fnc')
-rw-r--r-- | embed.fnc | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1000,6 +1000,8 @@ AmdbR |HV* |newHV ApaR |HV* |newHVhv |NULLOK HV *hv Apabm |IO* |newIO Apda |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last +AMpda |PADNAME *|newPADNAMEouter|NN PADNAME *outer +AMpda |PADNAME *|newPADNAMEpvn|NN const char *s|STRLEN len AMpda |PADNAMELIST *|newPADNAMELIST|size_t max #ifdef USE_ITHREADS Apda |OP* |newPADOP |I32 type|I32 flags|NN SV* sv @@ -2588,7 +2590,9 @@ AMpdR |PADNAME *|padnamelist_fetch|NN PADNAMELIST *pnl|SSize_t key Xop |void |padnamelist_free|NN PADNAMELIST *pnl AMpd |PADNAME **|padnamelist_store|NN PADNAMELIST *pnl|SSize_t key \ |NULLOK PADNAME *val +Xop |void |padname_free |NN PADNAME *pn #if defined(USE_ITHREADS) +pdR |PADNAME *|padname_dup |NN PADNAME *src|NN CLONE_PARAMS *param pR |PADNAMELIST *|padnamelist_dup|NN PADNAMELIST *srcpad \ |NN CLONE_PARAMS *param pdR |PADLIST *|padlist_dup |NN PADLIST *srcpad \ |