diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-05-23 20:26:35 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-05-23 20:26:35 +0000 |
commit | 9f1501b2c542cf2dc1feaf9b0d1d694acd6c0807 (patch) | |
tree | 41f8d88d51866dba4f84909fd7dcf1c4cef398a7 /hv.h | |
parent | 0bb78401313e0347fd894143d813c3036c2eccb4 (diff) | |
download | perl-9f1501b2c542cf2dc1feaf9b0d1d694acd6c0807.tar.gz |
Don't allocate an IV slot where the type doesn't use the IV slot.
p4raw-id: //depot/perl@24557
Diffstat (limited to 'hv.h')
-rw-r--r-- | hv.h | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -63,7 +63,26 @@ struct xpvhv { #define xhv_aux xnv_u.xnv_s.xnv_p1 #define xhv_keys xnv_u.xnv_s.xnv_u2.xnv_i2 +#if 0 typedef struct xpvhv xpvhv_allocated; +#else +typedef struct { + STRLEN xhv_fill; /* how full xhv_array currently is */ + STRLEN xhv_max; /* subscript of last element of xhv_array */ + union { + NV xnvu_nv; /* numeric value, if any */ + struct { + void *xnv_p1; + union { + void *xnv_p2; + IV xnv_i2; /* how many elements in the array */ + } xnv_u2; + } xnv_s; + } xnv_u; + MAGIC* xmg_magic; /* magic for scalar array */ + HV* xmg_stash; /* class package */ +} xpvhv_allocated; +#endif /* hash a key */ /* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins |