diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-07-31 10:03:33 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-07-31 10:03:33 +0000 |
commit | 5129b2ca8d01c31a5ccad56604afff370ba7562e (patch) | |
tree | 4e3ca09dd43183da3f0dccc9bff118f0af5c5f3c | |
parent | a1fea99b3ddaebb8d880c2daff65d93f1f665e1d (diff) | |
download | perl-5129b2ca8d01c31a5ccad56604afff370ba7562e.tar.gz |
You can't (and shouldn't) use CvDEPTH on a PVFM.
p4raw-id: //depot/perl@34167
-rw-r--r-- | cv.h | 3 | ||||
-rw-r--r-- | dump.c | 3 | ||||
-rw-r--r-- | ext/Devel/Peek/t/Peek.t | 2 |
3 files changed, 4 insertions, 4 deletions
@@ -57,8 +57,7 @@ Returns the stash of the CV. #define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv))) #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define CvDEPTH(sv) (*({const CV *_cvdepth = (CV *)sv; \ - assert(SvTYPE(_cvdepth) == SVt_PVCV || \ - SvTYPE(_cvdepth) == SVt_PVFM); \ + assert(SvTYPE(_cvdepth) == SVt_PVCV); \ &((XPVCV*)SvANY(_cvdepth))->xiv_u.xivu_i32; \ })) #else @@ -1826,7 +1826,8 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo } do_gvgv_dump(level, file, " GVGV::GV", CvGV(sv)); Perl_dump_indent(aTHX_ level, file, " FILE = \"%s\"\n", CvFILE(sv)); - Perl_dump_indent(aTHX_ level, file, " DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv)); + if (type == SVt_PVCV) + Perl_dump_indent(aTHX_ level, file, " DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv)); Perl_dump_indent(aTHX_ level, file, " FLAGS = 0x%"UVxf"\n", (UV)CvFLAGS(sv)); Perl_dump_indent(aTHX_ level, file, " OUTSIDE_SEQ = %"UVuf"\n", (UV)CvOUTSIDE_SEQ(sv)); if (type == SVt_PVFM) diff --git a/ext/Devel/Peek/t/Peek.t b/ext/Devel/Peek/t/Peek.t index 43164fd0c0..4fa487a1a7 100644 --- a/ext/Devel/Peek/t/Peek.t +++ b/ext/Devel/Peek/t/Peek.t @@ -654,7 +654,7 @@ do_test(26, XSUBANY = 0 # $] < 5.009 GVGV::GV = $ADDR\\t"main" :: "PIE" FILE = ".*\\b(?i:peek\\.t)" - DEPTH = 0 + DEPTH = 0 # $] <= 5.010 (?: MUTEXP = $ADDR OWNER = $ADDR )? FLAGS = 0x0 |