summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-08-05 00:15:52 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-08-05 13:18:50 -0700
commitf2da823f484d421a6bb57e32e442b19b553f4b35 (patch)
treea1257b3e9d3f0b55dd912ce2b17f9fde7dff1492 /sv.h
parent9a7154347977e29a815d93c0097c5a9b660006b2 (diff)
downloadperl-f2da823f484d421a6bb57e32e442b19b553f4b35.tar.gz
Make PL_(top|body|form)target PVIVs
These are only used for storing a string and an IV. Making them into full-blown SVt_PVFMs is overkill. FmLINES was only being used on these three scalars. So make it use the SvIVX field. struct xpvfm no longer needs an xfm_lines member, because SVt_PVFMs no longer use it. This also causes a TODO test in taint.t to start passing, but I do not fully understand why. But at least that’s progress. :-)
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sv.h b/sv.h
index 056d43b118..b2385d0a6d 100644
--- a/sv.h
+++ b/sv.h
@@ -520,7 +520,6 @@ typedef U16 cv_flags_t;
struct xpvfm {
_XPV_HEAD;
_XPVCV_COMMON;
- IV xfm_lines;
};
@@ -1387,7 +1386,7 @@ sv_force_normal does nothing.
#endif
-#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xfm_lines
+#define FmLINES(sv) ((XPVIV*) SvANY(sv))->xiv_iv
#define LvTYPE(sv) ((XPVLV*) SvANY(sv))->xlv_type
#define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ