summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-02-20 13:42:47 +0000
committerNicholas Clark <nick@ccl4.org>2006-02-20 13:42:47 +0000
commitd04ba5897acce6425e3b231fbf36336ea42f8165 (patch)
tree0300fa64efa15fc65f2c48cc2938c1fe8afa0e5a /sv.h
parentbf53b3a5f249ae2a059ca8014f7a62d301c554bc (diff)
downloadperl-d04ba5897acce6425e3b231fbf36336ea42f8165.tar.gz
xcv_root and xcv_xsub can also be merged into a union, providing a new
flag is added to denote whether the PVCV is perl or XSUB. p4raw-id: //depot/perl@27244
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/sv.h b/sv.h
index e85fd7ae49..a3f28db410 100644
--- a/sv.h
+++ b/sv.h
@@ -434,8 +434,10 @@ struct xpvfm {
OP * xcv_start;
ANY xcv_xsubany;
} xcv_start_u;
- OP * xcv_root;
- void (*xcv_xsub)(pTHX_ CV*);
+ union {
+ OP * xcv_root;
+ void (*xcv_xsub) (pTHX_ CV*);
+ } xcv_root_u;
GV * xcv_gv;
char * xcv_file;
long xcv_depth; /* >= 2 indicates recursive call */
@@ -460,10 +462,14 @@ typedef struct {
HV* xmg_stash; /* class package */
HV * xcv_stash;
- OP * xcv_start;
- OP * xcv_root;
- void (*xcv_xsub)(pTHX_ CV*);
- ANY xcv_xsubany;
+ union {
+ OP * xcv_start;
+ ANY xcv_xsubany;
+ } xcv_start_u;
+ union {
+ OP * xcv_root;
+ void (*xcv_xsub) (pTHX_ CV*);
+ } xcv_root_u;
GV * xcv_gv;
char * xcv_file;
long xcv_depth; /* >= 2 indicates recursive call */