diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2012-08-17 18:41:02 +0100 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2012-08-17 19:09:51 +0100 |
commit | 9d2d23d98141e59338d57996fe0c74d36351f6e9 (patch) | |
tree | 371ed4a691211c62da50b7163142f9e0fba3b665 /cpan/B-Debug | |
parent | dc4b20bdf34f180d3017bda09b1fd225ad2b19d4 (diff) | |
download | perl-9d2d23d98141e59338d57996fe0c74d36351f6e9.tar.gz |
Upgrade to B::Debug 1.18
Diffstat (limited to 'cpan/B-Debug')
-rw-r--r-- | cpan/B-Debug/Debug.pm | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/cpan/B-Debug/Debug.pm b/cpan/B-Debug/Debug.pm index fb8db3ff20..31b0e2834b 100644 --- a/cpan/B-Debug/Debug.pm +++ b/cpan/B-Debug/Debug.pm @@ -1,6 +1,6 @@ package B::Debug; -our $VERSION = '1.17'; +our $VERSION = '1.18'; use strict; require 5.006; @@ -285,11 +285,16 @@ EOT sub B::AV::debug { my ($av) = @_; $av->B::SV::debug; + _array_debug($av); +} + +sub _array_debug { + my ($av) = @_; # tied arrays may leave out FETCHSIZE my (@array) = eval { $av->ARRAY; }; print "\tARRAY\t\t(", join(", ", map("0x" . $$_, @array)), ")\n"; my $fill = eval { scalar(@array) }; - if ($Config{'useithreads'}) { + if ($Config{'useithreads'} && class($av) ne 'PADLIST') { printf <<'EOT', $fill, $av->MAX, $av->OFF; FILL %d MAX %d @@ -353,6 +358,15 @@ sub B::SPECIAL::debug { print exists $specialsv_name[$i] ? $specialsv_name[$i] : "", "\n"; } +sub B::PADLIST::debug { + my ($padlist) = @_; + printf <<'EOT', class($padlist), $$padlist, $padlist->REFCNT; +%s (0x%x) + REFCNT %d +EOT + _array_debug($padlist); +} + sub compile { my $order = shift; B::clearsym(); @@ -417,3 +431,4 @@ Copyright (c) 2008, 2010 Reini Urban Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. =cut + |