diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-05-29 17:46:39 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-05-29 17:46:39 +0000 |
commit | 311a25d9bdebead7c924f8195b0287fe2a60a568 (patch) | |
tree | 76ec442d5d0e9d206c50c1c2c9b052e44146b77a /cv.h | |
parent | b08468124c2de39dce34c2652895d4c7023c7c4d (diff) | |
download | perl-311a25d9bdebead7c924f8195b0287fe2a60a568.tar.gz |
Change the IV to a union.
Revert the NV union back to a plain NV
Transpose the positions of IV and NV (NV is now first)
Don't allocate the NV for PV,PVIV,PVAV and PVHV (last 2 non-allocations
currently disabled by default)
p4raw-id: //depot/perl@24617
Diffstat (limited to 'cv.h')
-rw-r--r-- | cv.h | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -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 { - struct { - void *xnv_p1; - union { - void *xnv_p2; - IV xnv_i2; - } xnv_u2; - } xnv_s; - NV xnvu_nv; /* numeric value, if any */ - } 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 */ |