#define PTABLE_NAME ptable_hints
-#if I_WORKAROUND_REQUIRE_PROPAGATION
-# define PTABLE_VAL_FREE(V) \
+#define PTABLE_VAL_FREE(V) \
{ indirect_hint_t *h = (V); SvREFCNT_dec(h->code); PerlMemShared_free(h); }
-#else
-# define PTABLE_VAL_FREE(V) SvREFCNT_dec(V)
-#endif
#define pPTBL pTHX
#define pPTBL_ pTHX_
#include "ptable.h"
#define ptable_store(T, K, V) ptable_store(aTHX_ (T), (K), (V))
-#define ptable_delete(T, K) ptable_delete(aTHX_ (T), (K))
#define ptable_clear(T) ptable_clear(aTHX_ (T))
#define ptable_free(T) ptable_free(aTHX_ (T))
STATIC SV *indirect_hint(pTHX) {
#define indirect_hint() indirect_hint(aTHX)
- SV *hint, *code;
+ SV *hint;
#if I_HAS_PERL(5, 9, 5)
hint = Perl_refcounted_he_fetch(aTHX_ PL_curcop->cop_hints_hash,
NULL,
#define indirect_map_delete(O) indirect_map_delete(aTHX_ (O))
dMY_CXT;
- ptable_delete(MY_CXT.map, o);
+ ptable_store(MY_CXT.map, o, NULL);
}
/* --- Check functions ----------------------------------------------------- */