In perl.git, the branch sprout/padlist has been created
<http://perl5.git.perl.org/perl.git/commitdiff/55a7cf29766e42687b886c2fd907226dff6402d3?hp=0000000000000000000000000000000000000000>
at 55a7cf29766e42687b886c2fd907226dff6402d3 (commit)
- Log -----------------------------------------------------------------
commit 55a7cf29766e42687b886c2fd907226dff6402d3
Author: Father Chrysostomos <[email protected]>
Date: Thu Aug 16 16:47:38 2012 -0700
Increase $B::Xref::VERSION from 1.03 to 1.04
M ext/B/B/Xref.pm
commit 49aeaf3985783e70cf5915e12c3584e5ec7d6d97
Author: Father Chrysostomos <[email protected]>
Date: Thu Aug 16 16:46:20 2012 -0700
Stop padlists from being AVs
In order to fix a bug, I need to add new fields to padlists. But I
cannot easily do that as long as they are AVs.
So I have created a new padlist struct.
This not only allows me to extend the padlist struct with new members
as necessary, but also saves memory, as we now have a three-pointer
struct where before we had a whole SV head (3-4 pointers) + XPVAV (5
pointers).
This will unfortunately break half of CPAN, but the pad API docs
clearly say this:
NOTE: this function is experimental and may change or be
removed without notice.
It already breaks B::Debug, which I have fixed as part of this com-
mit; but I will wait for integration from upstream before merging this
into blead.
M av.c
M cpan/B-Debug/Debug.pm
M dump.c
M embed.fnc
M embed.h
M ext/B/B.xs
M ext/B/B/Xref.pm
M ext/B/typemap
M ext/XS-APItest/APItest.xs
M pad.c
M pad.h
M perl.h
M proto.h
M sv.c
commit 60bbc8d92b142bf2329b55c81191bb9b99af012b
Author: Father Chrysostomos <[email protected]>
Date: Wed Aug 15 22:27:54 2012 -0700
Use PADLIST in more places
Much code relies on the fact that PADLIST is typedeffed as AV.
PADLIST should be treated as a distinct type. (This also means cast-
ing PADLISTs to AV when passing them to av_fetch.)
M cop.h
M dump.c
M ext/XS-APItest/APItest.xs
M op.c
M pad.c
M pp_ctl.c
M pp_hot.c
M pp_sort.c
M sv.c
M sv.h
commit 2a5ae4c6c9537e61703d2da3e197870bdf55ca8a
Author: Father Chrysostomos <[email protected]>
Date: Wed Aug 15 22:11:46 2012 -0700
Move PAD(LIST) typedefs to perl.h
otherwise they can only be used in some header files.
M pad.h
M perl.h
-----------------------------------------------------------------------
--
Perl5 Master Repository