X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hv.h;h=468c072bf05df073eed747fcd0a4ccd305b5225c;hb=842c41230043ce99d4bf7b2c79aed85ce2908e89;hp=f38d584d2cc2da6ed4595961642e22708138b897;hpb=cca4e9fab7291545636e94a7bf2f606ae7526371;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hv.h b/hv.h index f38d584..468c072 100644 --- a/hv.h +++ b/hv.h @@ -83,14 +83,12 @@ struct xpvhv_aux { /* hash structure: */ /* This structure must match the beginning of struct xpvmg in sv.h. */ struct xpvhv { - union _xnvu xnv_u; - STRLEN xhv_fill; /* how full xhv_array currently is */ + HV* xmg_stash; /* class package */ + union _xmgu xmg_u; + STRLEN xhv_keys; /* total keys, including placeholders */ STRLEN xhv_max; /* subscript of last element of xhv_array */ - _XPVMG_HEAD; }; -#define xhv_keys xiv_u.xivu_iv - /* hash a key */ /* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins * from requirements by Colin Plumb. @@ -236,7 +234,7 @@ C. # define Nullhv Null(HV*) #endif #define HvARRAY(hv) ((hv)->sv_u.svu_hash) -#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill +#define HvFILL(hv) Perl_hv_fill(aTHX_ (const HV *)(hv)) #define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max /* This quite intentionally does no flag checking first. That's your responsibility. */