summaryrefslogtreecommitdiff
path: root/cv.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 /cv.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 'cv.h')
-rw-r--r--cv.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/cv.h b/cv.h
index d7dcc4ae5d..182415e002 100644
--- a/cv.h
+++ b/cv.h
@@ -13,6 +13,7 @@
struct xpvcv {
_XPV_HEAD;
_XPVCV_COMMON;
+ I32 xcv_depth; /* >= 2 indicates recursive call */
};
/*
@@ -51,10 +52,10 @@ Returns the stash of the CV.
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define CvDEPTH(sv) (*({const CV *const _cvdepth = (const CV *)sv; \
assert(SvTYPE(_cvdepth) == SVt_PVCV); \
- &((XPVCV*)SvANY(_cvdepth))->xiv_u.xivu_i32; \
+ &((XPVCV*)SvANY(_cvdepth))->xcv_depth; \
}))
#else
-# define CvDEPTH(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xiv_u.xivu_i32
+# define CvDEPTH(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_depth
#endif
#define CvPADLIST(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist
#define CvOUTSIDE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside