diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-02-20 19:00:22 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-02-20 19:00:22 +0000 |
commit | c84c465283025c72dfa40558418521b8e42b7290 (patch) | |
tree | 285b0b56947449f80159279646c736c3aebb484f /cv.h | |
parent | 5316d14db4aade2e88cbb15cc065195245c0ec51 (diff) | |
download | perl-c84c465283025c72dfa40558418521b8e42b7290.tar.gz |
PVCVs don't need XNVs either.
(And actually remove xcv_depth)
(And fix the copy lengths in bodies_by_type)
p4raw-id: //depot/perl@27249
Diffstat (limited to 'cv.h')
-rw-r--r-- | cv.h | 32 |
1 files changed, 31 insertions, 1 deletions
@@ -34,7 +34,6 @@ struct xpvcv { } xcv_root_u; GV * xcv_gv; char * xcv_file; - long xcv_depth; PADLIST * xcv_padlist; CV * xcv_outside; U32 xcv_outside_seq; /* the COP sequence (at the point of our @@ -43,6 +42,37 @@ struct xpvcv { cv_flags_t xcv_flags; }; +typedef struct { + STRLEN xpv_cur; /* length of xp_pv as a C string */ + STRLEN xpv_len; /* allocated size */ + union { + IV xivu_iv; + UV xivu_uv; + void * xivu_p1; + I32 xivu_i32; /* depth, >= 2 indicates recursive call */ + } xiv_u; + MAGIC* xmg_magic; /* magic for scalar array */ + HV* xmg_stash; /* class package */ + + HV * xcv_stash; + 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; + PADLIST * xcv_padlist; + CV * xcv_outside; + U32 xcv_outside_seq; /* the COP sequence (at the point of our + * compilation) in the lexically enclosing + * sub */ + cv_flags_t xcv_flags; +} xpvcv_allocated; + /* =head1 Handy Values |