From: Nicholas Clark <nick@ccl4.org>
Date: Sat, 12 Jul 2008 07:40:33 +0000 (+0000)
Subject: PVFMs don't need to access the IVX any more. (as of change 32836, which
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=30ec677dd4d12a9c099bac3f654b308d387386e9;p=p5sagit%2Fp5-mst-13.2.git

PVFMs don't need to access the IVX any more. (as of change 32836, which
re-implemented SvOOK() to avoid using it)

p4raw-id: //depot/perl@34133
---

diff --git a/dump.c b/dump.c
index 2696b9b..74b5aa1 100644
--- a/dump.c
+++ b/dump.c
@@ -1563,7 +1563,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
 	return;
     }
     if ((type >= SVt_PVIV && type != SVt_PVAV && type != SVt_PVHV
-	 && type != SVt_PVCV && !isGV_with_GP(sv))
+	 && type != SVt_PVCV && !isGV_with_GP(sv) && type != SVt_PVFM)
 	|| (type == SVt_IV && !SvROK(sv))) {
 	if (SvIsUV(sv)
 #ifdef PERL_OLD_COPY_ON_WRITE
diff --git a/ext/Devel/Peek/t/Peek.t b/ext/Devel/Peek/t/Peek.t
index 3cacd1d..43164fd 100644
--- a/ext/Devel/Peek/t/Peek.t
+++ b/ext/Devel/Peek/t/Peek.t
@@ -644,7 +644,7 @@ do_test(26,
   SV = PVFM\\($ADDR\\) at $ADDR
     REFCNT = 2
     FLAGS = \\(\\)
-    IV = 0
+    IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
     PV = 0					# $] >= 5.011
     COMP_STASH = 0x0
diff --git a/sv.h b/sv.h
index 65e6ec4..d77e2b5 100644
--- a/sv.h
+++ b/sv.h
@@ -1094,6 +1094,7 @@ the scalar's value cannot change unless written to.
 	    assert(SvTYPE(_svivx) != SVt_PVAV);				\
 	    assert(SvTYPE(_svivx) != SVt_PVHV);				\
 	    assert(SvTYPE(_svivx) != SVt_PVCV);				\
+	    assert(SvTYPE(_svivx) != SVt_PVFM);				\
 	    assert(!isGV_with_GP(_svivx));				\
 	    &(((XPVIV*) SvANY(_svivx))->xiv_iv);			\
 	 }))
@@ -1103,6 +1104,7 @@ the scalar's value cannot change unless written to.
 	    assert(SvTYPE(_svuvx) != SVt_PVAV);				\
 	    assert(SvTYPE(_svuvx) != SVt_PVHV);				\
 	    assert(SvTYPE(_svuvx) != SVt_PVCV);				\
+	    assert(SvTYPE(_svuvx) != SVt_PVFM);				\
 	    assert(!isGV_with_GP(_svuvx));				\
 	    &(((XPVUV*) SvANY(_svuvx))->xuv_uv);			\
 	 }))