summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-01-26 17:03:41 +0000
committerNicholas Clark <nick@ccl4.org>2010-05-21 07:03:52 +0100
commitc4648999f2aa0b971b46a580c1258b719394072a (patch)
treeca7acfce86e46933d561a2196d39273354971c8c /sv.h
parent89f6f2871ea81b2c6a09311796395c610f3e3464 (diff)
downloadperl-c4648999f2aa0b971b46a580c1258b719394072a.tar.gz
Remove union _xivu from _XPVCV_COMMON, and hence structs xpvcv and xpvfm
Replaced with xcv_depth and xfm_lines respectively. Both structures might benefit from some field re-ordering. Update the descriptive comments in the definition of union _xivu.
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/sv.h b/sv.h
index d5872c92f1..97a6c53d29 100644
--- a/sv.h
+++ b/sv.h
@@ -416,9 +416,8 @@ union _xnvu {
union _xivu {
IV xivu_iv; /* integer value */
- /* xpvfm: lines */
UV xivu_uv;
- I32 xivu_i32;
+ I32 xivu_i32; /* BmUSEFUL */
HEK * xivu_namehek; /* xpvlv, xpvgv: GvNAME */
};
@@ -482,7 +481,6 @@ struct xpvgv {
typedef U16 cv_flags_t;
#define _XPVCV_COMMON \
- union _xivu xiv_u; \
HV * xcv_stash; \
union { \
OP * xcv_start; \
@@ -504,6 +502,7 @@ typedef U16 cv_flags_t;
struct xpvfm {
_XPV_HEAD;
_XPVCV_COMMON;
+ IV xfm_lines;
};
#define _XPVIO_TAIL \
@@ -1302,7 +1301,7 @@ the scalar's value cannot change unless written to.
#endif
-#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xiv_u.xivu_iv
+#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xfm_lines
#define LvTYPE(sv) ((XPVLV*) SvANY(sv))->xlv_type
#define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ