As of v5.21.6, CvPADLIST() is only legal on pure Perl subroutines.
[p5sagit/Devel-Size.git] / CHANGES
CommitLineData
e98cedbf 1Revision history for Perl extension Devel::Size.
2
222a9dfa 30.79_52 2015-03-20 nicholas
4 two patches from Zefram:
d0aef31a 5 * handle the new METHOP. [CPAN #101071]
222a9dfa 6 * handle the multideref op, and to a limited extent the UNOP_AUX op class in
7 general. [CPAN #102911]
c2178971 8
f36322d1 9 * As of eacbb37937698a03 (v5.21.6), can't call CvPADLIST on an XSUB.
10 More usefully, the slot is now used for XS versioning protection, which
11 means that we can be confident that nothing out there is using it for data.
12 Reported as [CPAN #102909].
13
a809d0e1 140.79_51 2015-02-28 nicholas
00a70dfa 15 * as of 5.20.0, s/// is no longer a reliable test for OOK [CPAN #95493]
a809d0e1 16
4bdb4781 170.79_50 2015-02-28 nicholas
f28d0610 18 patches from Zefram:
19 * wrong test for magicalness [CPAN #88180]
20 * reading tied scalar shrinks it [CPAN #88182]
4bdb4781 21
346993b5 220.79 2013-05-12 nicholas
23 [no changes]
24
697012cd 250.78_52 2013-05-10 nicholas
26 * Fix the bug in the previous fix. Oops :-)
27
27423777 280.78_51 2013-05-10 nicholas
29 * v5.17.1 and later handle CopSTASH differently under ithreads
30
67091f39 310.78_50 2013-05-10 nicholas
1606314d 32 * Alternative test for CvOUTSIDE, and one for CvPADLIST
e0d4117e 33 * v5.17 changes the type of PADLIST [CPAN #83904]
75510c88 34 * stubbed subs no longer have CvOUTSIDE set [CPAN #77913]
cd50b0d7 35 * Fix for v5.17.2's OP slab allocator [CPAN #83903]
52d8b031 36 * Spelling fix to docs from gregor herrmann [CPAN #78766]
37
fddee798 380.78 2012-07-26 nicholas
a4148102 39 [no changes]
40
1c35d132 410.77_51 2012-07-17 nicholas
42 * Fix for MSVC builds from bulk 88 [CPAN #77589]
43
88d3c90b 440.77_50 2012-02-10 nicholas
45 * t/globs.t was failing on 5.15.6 and later due to side effects of a change
46 to strict.pm [CPAN #73998]
dc1ab564 47 * skip tests in t/magic.t that use formline on 5.8.1 and 5.8.2, as those
48 versions have a buggy formline that can trigger an assertion failure.
88d3c90b 49
76ab8e98 500.77 2011-05-16 nicholas
51 [no changes]
52
3d18ea10 530.76_50 2011-05-12 nicholas
54 * Split out HEK size calculation into hek_size(). Add the shared HE overhead.
924d9c4e 55 * Handle shared hash key scalars correctly.
638a265a 56 * GvNAME() is shared from 5.10 onwards.
b3a37f1a 57 * Count HvNAME(), the HV "aux" struct, the mro_meta struct, and ENAMEs.
3d18ea10 58
4a51050d 590.76 2011-05-11 nicholas
60 * Just fix the version number in the line below.
61
620.75_52 2011-05-09 nicholas
b6558d1d 63 * Use a table for SV body sizes. These incorporate the space saving post 5.8.x
95dc1714 64 * Correctly handle SvOOK scalars. 5.12 and later don't use SvIVX().
9847261d 65 * Magic vtables aren't freed when magic is freed, so don't count them.
66 (They are static structures. Anything that assumes otherwise is buggy.)
d6158a76 67 * Reinstate 5.6.x "support". (i.e. it compiles and passes tests.)
177ebd37 68 * Reinstate 5.005_xx "support". (i.e. it compiles and passes tests.)
b6558d1d 69
ec404c23 700.75_51 2011-05-05 nicholas
71 * Only use a static array of vtables on gcc.
72
d9b022a1 730.75_50 2011-05-04 nicholas
b7130948 74 * The core's magic vtables are global constants, so aren't part of the size.
d1888d0b 75 * Follow mg_obj and mg_ptr.
d9b022a1 76
ce5fa0d6 770.75 2011-05-04 nicholas
78 [no changes]
79
f404ed48 800.74_53 2011-05-01 nicholas
81 * Fix typo error in bit-vector tracking mechanism. On 64 bit platforms which
82 allocate on 8 byte alignment (rather than 16), a low pointer bit could get
83 lost, resulting in new pointers being considered already "seen".
84 "Found" by BinGOs' smoker, fixed on spectre.mongueurs.net. Thanks.
85
574d9fd9 860.74_52 2011-04-23 nicholas
87 * Fix potential SEGVs for OP_AELEMFAST on a lexical (eg $foo[3])
219b7d34 88 * Fix likely SEGVs for PVOPs (missing break)
4a3d023d 89 * Fix potential SEGVs for PVBMs on 5.10 and later
13683e3a 90 * Move hash and array traversal from total_size() to sv_size()
91 - this allows total_size() and size() to be XS ALIASes.
574d9fd9 92
6ec51ae0 930.74_51 2011-04-22 nicholas
a52ceccd 94 * Don't count PL_sv_{undef,no,yes} in the size returned
81f1c018 95 * total_size() was double-counting entries in typeglobs
96 * sv_size() was double-counting the PVGV size if GvEGV() looped back
6ec51ae0 97 * fix classic off-by-one error - the answer is strlen() + 1, not just strlen()
a52ceccd 98
db519f11 990.74_50 2011-04-19 nicholas
100 * Ensure that size() doesn't add the referent's size for non SVt_RV references
101
efc072e6 1020.74 2011-04-19 nicholas
1507f6e0 103 * Correct the Makefile.PL - LICENSE was added to ExtUtils::MakeMaker in 6.31
104
eee00145 1050.73_51 2011-04-17 nicholas
106 * Refactor the C code to accumulate the size inside the tracking structure
107 - this means that the C *_size() functions now return void
108 - The XS functions size() and total_size() now return UV, not IV
109
5f04c81d 1100.73_50 2011-04-17 nicholas
111 * Avoid using assert() on ithreaded 5.8.8 and earlier, as it needs my_perl
5daca940 112 * Fix the test added in 0.73, as it tripped over a combination of bugs
5f04c81d 113
1f9c451d 1140.73 2011-04-16 nicholas
115 * Revert a bad assertion introduced in 0.72_50, which was logically wrong.
116 - and a test to demonstrate one case that would trigger it
117
1180.72_52 2011-04-15 nicholas
fb53b4e7 119 * Add a test for the non-exceptional warnings.
120
1f9c451d 1210.72_51 2011-04-15 nicholas
265a0548 122 * Add PERL_NO_GET_CONTEXT to improve performance under multiplicity
123
795fc84c 1240.72_50 2011-04-14 nicholas
1a36ac09 125 * Exception handling is totally MSVC specific, so only use it there
126 - this means that we don't need to use a C++ compiler anywhere
30fe4f47 127 * Rework bit-vector tracking mechanism to use a 256-way tree. This avoids
128 making assumptions about 64-bit platforms' memory layouts, and eliminates
129 the fatal error introduced in 0.72 when the assumption was violated.
568039a0 130 * Convert to XSLoader
795fc84c 131 * Resolve CPAN #49437 (Devel::Size adds magic in Perl 5.10)
66f50dda 132 * Resolve CPAN #58484 and #58485 (related to CVs that are XSUBs)
795fc84c 133
7e4f879b 1340.72 2008-10-14 BrowserUk 70 tests
9fc9ab86 135 * Added bit-vector pointer tracking mechanism.
136 - new fatal error (64-bit platforms only)
137 * Added exception handling
138 - 4 new warnings (disabled by default)
139 * Updated POD to reflect above
140 * Added basic.t test 13
141 * replaced Module::Install with hand crafted EU::MM Makefile.pl
142 (With many thanks to Sisyphus)
143 because we couldn't work out how to add C++ options to allow
144 exception handling.
145
b7621729 1460.71 2008-08-24 Tels 69 tests
147 * adapt patch from Reini Urban to fix failing RV under 5.10 and 5.11. AV
148 and HV were pushed directly onto the pending_array, and not the RV,
149 which caused #33530. So he rewrote the logic to deref the RV inside
150 the array traversal. Applied this with one small omission, which
151 caused test faiures.
152 * Fixed 5.11 RV/IV logic. (Thanx Reini Urban!)
153 * Removed one duplicate total_size arrayref test. (Thanx Reini Urban!)
154 * changed //printf to dbg_printf() (Thanx Reini again!)
155
f44772ad 1560.70 2008-08-23 Tels 69 tests
157 * fix SEGFAULTS under v5.10 (Thanx Reini Urban!)
6ea94d90 158 * fix compilation under blead (Thanx Reini Urban!)
159 * require Perl 5.006 (to stop CPANTESTERS sending bogus reports
160 about failed compiling on ancient Perls)
f44772ad 161 * update the bundles Module::Install to v0.77
6ea94d90 162
5a83b7cf 1630.69 2007-08-11 Tels 69 tests
164 * fix compilation under Perl v5.9.5 and v5.10 (Thanx Steve Peters!)
165 * clarify the license by specifying Perl v5.8.8's license
b7621729 166 * small doc fixes, add a README file
5a83b7cf 167
c8db37d3 1680.68 2007-06-12 Tels 69 tests
169 * remove a bit of duplicate code in op_size, the second instance
170 was a no-op anyway
171 * fix the failing tests by rewriting the test logic to be sane
172 * the count of array slots was off by one
173
b1e5ad85 1740.67 2007-03-15 Tels 20 tests
175 * rip out Build.PL since it doesn't actually work
176 * fix bug #1653: All SVPV subtype may contain an RV instead of a PV
177 (Thanx a lot Jan, and sorry for the truly horrible long delay!)
178 * fix bug #24846: Does not correctly recurse into references in PVNV
179 (Thanx STEVIEO)
180 * add t/recurse.t that tests the two bugfixes in combination
181
1820.66 2007-03-02 Tels 15 tests
183 * fix the failing test (the code was right, but the test wrong)
184
0430b7f7 1850.65 2007-02-24 Tels 15 tests
186 * fix the test failings under 64 bit (bugs #21037, #18596, #21404)
187 * fix wrong size for strings (bug #17586)
188 * reverse Changelog (bug #16636)
189 * Size.xs: remove unused variable "count"
190 * Size.xs: fix warnings about missing ()
191 * Size.xs: fix size of array refs when AvALLOC == 0
192 * Modernize package:
193 + maintained by me, signed with my key
194 + bundle Module::Install and use it
195 + add POD tests
196 + rewrite tests to use Test::More; add more tests
e98cedbf 197
0430b7f7 1980.64 Mon Dec 19 18:46:00 2005
199 - Patch to make Devel::Size compile on bleadperl (Courtesy of
9fc9ab86 200 Nick Clark)
201 - Fix up the PVIV string size calcs (Courtesy of Andrew Shirrayev)
fea63ffa 202
0430b7f7 2030.63 Thu Jun 30 14:29:43 2005
204 - Turns out that OP_TRANS is a basic op, not a loop op. This
9fc9ab86 205 is a bug in versions of perl 5.8.x before 5.8.7. Work around
206 it.
b98fcdb9 207
0430b7f7 2080.62 Tue Jun 28 11:59:00 2005
209 - Took out // comments
9fc9ab86 210 - Added in copyright notice
211 - Some small amount of regex parsing
212 - Suppress multiple copies of each warning on each call
966a1570 213
0430b7f7 2140.61 Mon Jun 27 16:19:00 2005
215 - Added more checks for formats
9fc9ab86 216 - Got CVs sizing right
78dfb4e7 217
0430b7f7 2180.59 Sat Nov 27 16:42:42 2004
219 - Applied documentation and sane warning patch from Nigel Sandever
220 - Taught Devel::Size how to size up IO and globs properly
78dfb4e7 221
2220.58 Fri Jul 18 11:42:32 2003
223 - Fix for problems triggered by perl 5.8.0 and up, more tests, and
9fc9ab86 224 removal of an "our" for better backwards compatibility. (Courtesy
225 of Marcus Holland-Moritz <mhx-perl@gmx.net>)
5073b933 226
0430b7f7 2270.57 Thu Mar 20 13:21:14 2003
228 - setting $Devel::Size::warn to 0 disables not complete warnings
a3ec2202 229
0430b7f7 2300.56 Mon Feb 24 12:10:13 2003
231 - Chopped out some C++ comments. D'oh! Version incremented for CPAN
98ecbbc6 232
0430b7f7 2330.55 Sat Feb 22 17:21:00 2003
234 - Fixed a bad size calculation (we were overestimating by one byte)
9fc9ab86 235 - Updated the docs to show some of the places that there might be 'dark'
236 memory that Devel::Size can't see.
237 - Added in tests from Ken Williams
62691e7c 238
0430b7f7 2390.54 Sat Oct 12 14:11:00 2002
9fc9ab86 240 - Applied a patch to get it working on 5.8.0 under Tru64
0430b7f7 241
2420.53 Thu Oct 10 12:30:00 2002
243 - Finally started updating Changes file
9fc9ab86 244 - Applied doc patch from Ann Barcomb
245 - Got globs sizing right
0430b7f7 246
2470.01 Mon Oct 7 01:05:32 2002
9fc9ab86 248 - original version; created by h2xs 1.2 with options
249 -A -n Devel::Size
24d37977 250