X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=autovivification.xs;h=d078674ce8b6a0901bb9f4489b30d6749f0f503d;hb=125c37754d5bbb6bdd09036f7fdc48fcd11994e9;hp=f50afa1c9f3d175151741cf3e6de8f7ef213b864;hpb=d98155fce615007c0caae395a82ebd178d4b3877;p=perl%2Fmodules%2Fautovivification.git diff --git a/autovivification.xs b/autovivification.xs index f50afa1..d078674 100644 --- a/autovivification.xs +++ b/autovivification.xs @@ -86,8 +86,6 @@ typedef struct { IV require_tag; } a_hint_t; -#define A_HINT_BITS(H) ((H)->bits) - #define A_HINT_FREE(H) PerlMemShared_free(H) #if A_THREADSAFE @@ -146,6 +144,7 @@ STATIC void a_ptable_clone(pTHX_ ptable_ent *ent, void *ud_) { return; h2 = PerlMemShared_malloc(sizeof *h2); + h2->bits = h1->bits; h2->require_tag = PTR2IV(a_clone(INT2PTR(SV *, h1->require_tag), ud->owner)); ptable_hints_store(ud->tbl, ent->key, h2); @@ -249,7 +248,7 @@ STATIC UV a_detag(pTHX_ const SV *hint) { if (a_require_tag() != h->require_tag) return 0; - return A_HINT_BITS(h); + return h->bits; } #else /* A_WORKAROUND_REQUIRE_PROPAGATION */