diff options
-rw-r--r-- | pad.c | 2 | ||||
-rw-r--r-- | regcomp.c | 2 | ||||
-rw-r--r-- | sv.c | 15 | ||||
-rw-r--r-- | sv.h | 18 |
4 files changed, 18 insertions, 19 deletions
@@ -2477,8 +2477,6 @@ Perl_pad_push(pTHX_ PADLIST *padlist, int depth) #if defined(USE_ITHREADS) -# define av_dup_inc(s,t) MUTABLE_AV(sv_dup_inc((const SV *)s,t)) - /* =for apidoc padlist_dup @@ -13366,8 +13366,6 @@ Perl_regfree_internal(pTHX_ REGEXP * const rx) Safefree(ri); } -#define av_dup_inc(s, t) MUTABLE_AV(sv_dup_inc((const SV *)s, t)) -#define hv_dup_inc(s, t) MUTABLE_HV(sv_dup_inc((const SV *)s, t)) #define SAVEPVN(p, n) ((p) ? savepvn(p, n) : NULL) /* @@ -13781,21 +13781,6 @@ ptr_table_* functions. #endif -/* Certain cases in Perl_ss_dup have been merged, by relying on the fact - that currently av_dup, gv_dup and hv_dup are the same as sv_dup. - If this changes, please unmerge ss_dup. - Likewise, sv_dup_inc_multiple() relies on this fact. */ -#define sv_dup_inc_NN(s,t) SvREFCNT_inc_NN(sv_dup_inc(s,t)) -#define av_dup(s,t) MUTABLE_AV(sv_dup((const SV *)s,t)) -#define av_dup_inc(s,t) MUTABLE_AV(sv_dup_inc((const SV *)s,t)) -#define hv_dup(s,t) MUTABLE_HV(sv_dup((const SV *)s,t)) -#define hv_dup_inc(s,t) MUTABLE_HV(sv_dup_inc((const SV *)s,t)) -#define cv_dup(s,t) MUTABLE_CV(sv_dup((const SV *)s,t)) -#define cv_dup_inc(s,t) MUTABLE_CV(sv_dup_inc((const SV *)s,t)) -#define io_dup(s,t) MUTABLE_IO(sv_dup((const SV *)s,t)) -#define io_dup_inc(s,t) MUTABLE_IO(sv_dup_inc((const SV *)s,t)) -#define gv_dup(s,t) MUTABLE_GV(sv_dup((const SV *)s,t)) -#define gv_dup_inc(s,t) MUTABLE_GV(sv_dup_inc((const SV *)s,t)) #define SAVEPV(p) ((p) ? savepv(p) : NULL) #define SAVEPVN(p,n) ((p) ? savepvn(p,n) : NULL) @@ -2672,6 +2672,24 @@ Create a new IO, setting the reference count to 1. - STRUCT_OFFSET(XPVNV, xnv_u.xnv_nv)); \ } STMT_END +#if defined(PERL_CORE) && defined(USE_ITHREADS) +/* Certain cases in Perl_ss_dup have been merged, by relying on the fact + that currently av_dup, gv_dup and hv_dup are the same as sv_dup. + If this changes, please unmerge ss_dup. + Likewise, sv_dup_inc_multiple() relies on this fact. */ +# define sv_dup_inc_NN(s,t) SvREFCNT_inc_NN(sv_dup_inc(s,t)) +# define av_dup(s,t) MUTABLE_AV(sv_dup((const SV *)s,t)) +# define av_dup_inc(s,t) MUTABLE_AV(sv_dup_inc((const SV *)s,t)) +# define hv_dup(s,t) MUTABLE_HV(sv_dup((const SV *)s,t)) +# define hv_dup_inc(s,t) MUTABLE_HV(sv_dup_inc((const SV *)s,t)) +# define cv_dup(s,t) MUTABLE_CV(sv_dup((const SV *)s,t)) +# define cv_dup_inc(s,t) MUTABLE_CV(sv_dup_inc((const SV *)s,t)) +# define io_dup(s,t) MUTABLE_IO(sv_dup((const SV *)s,t)) +# define io_dup_inc(s,t) MUTABLE_IO(sv_dup_inc((const SV *)s,t)) +# define gv_dup(s,t) MUTABLE_GV(sv_dup((const SV *)s,t)) +# define gv_dup_inc(s,t) MUTABLE_GV(sv_dup_inc((const SV *)s,t)) +#endif + /* * ex: set ts=8 sts=4 sw=4 et: */ |