diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-05-21 18:19:43 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-05-21 18:19:43 +0000 |
commit | 7b2c381cf37e4e4611c4a864b5d6f7134344e3e6 (patch) | |
tree | 8807ac10b976a808e6707f79fbff58de3476795c /hv.h | |
parent | 6e3207c2a1cd2d1644ac48e4d8ddd6742391e423 (diff) | |
download | perl-7b2c381cf37e4e4611c4a864b5d6f7134344e3e6.tar.gz |
Move the xpv_pv/xrv_rv member into the SV head, in a union with
IV and UV. Avoid allocating a body for IVs and RVs.
p4raw-id: //depot/perl@24531
Diffstat (limited to 'hv.h')
-rw-r--r-- | hv.h | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -42,7 +42,6 @@ struct xpvhv_aux { /* hash structure: */ /* This structure must match the beginning of struct xpvmg in sv.h. */ struct xpvhv { - char * xhv_array; /* pointer to malloced string */ STRLEN xhv_fill; /* how full xhv_array currently is */ STRLEN xhv_max; /* subscript of last element of xhv_array */ IV xhv_keys; /* how many elements in the array */ @@ -183,7 +182,7 @@ C<SV*>. #define Nullhv Null(HV*) -#define HvARRAY(hv) (*(HE***)&((XPVHV*) SvANY(hv))->xhv_array) +#define HvARRAY(hv) (*(HE***)&((hv)->sv_u.sv_array)) #define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill #define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max #define HvRITER(hv) (*Perl_hv_riter_p(aTHX_ (HV*)(hv))) |