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