X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/102d3b8a62934b6c124acd38fad140f94f743df1..5e2fc214e1e1cfd32fa58d0636cc5c85651c39ec:/cv.h diff --git a/cv.h b/cv.h index 4f9fb94..ada2e4d 100644 --- a/cv.h +++ b/cv.h @@ -12,19 +12,14 @@ * in sv.h */ struct xpvcv { - IV awaiting_redevelopment; /* integer value */ + NV xnv_nv; /* numeric value, if any */ STRLEN xpv_cur; /* length of xp_pv as a C string */ STRLEN xpv_len; /* allocated size */ union { - NV xnvu_nv; /* numeric value, if any */ - struct { - void *xnv_p1; - union { - void *xnv_p2; - IV xnv_i2; - } xnv_u2; - } xnv_s; - } xnv_u; + IV xivu_iv; /* integer value or pv offset */ + UV xivu_uv; + void * xivu_p1; + } xiv_u; MAGIC* xmg_magic; /* magic for scalar array */ HV* xmg_stash; /* class package */ @@ -175,7 +170,7 @@ C flag in the child. This allows us to determine under what circumstances we should decrement the refcount of the parent when freeing the child. -There is a further complication with non-closure anonymous subs (ie those +There is a further complication with non-closure anonymous subs (i.e. those that do not refer to any lexicals outside that sub). In this case, the anonymous prototype is shared rather than being cloned. This has the consequence that the parent may be freed while there are still active