code (such as Storable) can take advantage of them.
p4raw-id: //depot/perl@29673
ApR |MAGIC* |mg_dup |NULLOK MAGIC* mg|NN CLONE_PARAMS* param
ApR |SV* |sv_dup |NULLOK const SV* sstr|NN CLONE_PARAMS* param
Ap |void |rvpv_dup |NN SV* dstr|NN const SV *sstr|NN CLONE_PARAMS* param
+#endif
Apa |PTR_TBL_t*|ptr_table_new
ApR |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
Ap |void |ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv
Ap |void |ptr_table_split|NN PTR_TBL_t *tbl
Ap |void |ptr_table_clear|NULLOK PTR_TBL_t *tbl
Ap |void |ptr_table_free|NULLOK PTR_TBL_t *tbl
+#if defined(USE_ITHREADS)
# if defined(HAVE_INTERP_INTERN)
Ap |void |sys_intern_dup |NN struct interp_intern* src|NN struct interp_intern* dst
# endif
s |bool |sv_2iuv_common |NN SV *sv
s |void |glob_assign_glob|NN SV *dstr|NN SV *sstr|const int dtype
s |void |glob_assign_ref|NN SV *dstr|NN SV *sstr
-# if defined(USE_ITHREADS)
sRn |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
-# endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define mg_dup Perl_mg_dup
#define sv_dup Perl_sv_dup
#define rvpv_dup Perl_rvpv_dup
+#endif
#define ptr_table_new Perl_ptr_table_new
#define ptr_table_fetch Perl_ptr_table_fetch
#define ptr_table_store Perl_ptr_table_store
#define ptr_table_split Perl_ptr_table_split
#define ptr_table_clear Perl_ptr_table_clear
#define ptr_table_free Perl_ptr_table_free
+#if defined(USE_ITHREADS)
# if defined(HAVE_INTERP_INTERN)
#define sys_intern_dup Perl_sys_intern_dup
# endif
#define sv_2iuv_common S_sv_2iuv_common
#define glob_assign_glob S_glob_assign_glob
#define glob_assign_ref S_glob_assign_ref
-#endif
-# if defined(USE_ITHREADS)
-#ifdef PERL_CORE
#define ptr_table_find S_ptr_table_find
#endif
-# endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define mg_dup(a,b) Perl_mg_dup(aTHX_ a,b)
#define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b)
#define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c)
+#endif
#define ptr_table_new() Perl_ptr_table_new(aTHX)
#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b)
#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a)
#define ptr_table_clear(a) Perl_ptr_table_clear(aTHX_ a)
#define ptr_table_free(a) Perl_ptr_table_free(aTHX_ a)
+#if defined(USE_ITHREADS)
# if defined(HAVE_INTERP_INTERN)
#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
# endif
#define sv_2iuv_common(a) S_sv_2iuv_common(aTHX_ a)
#define glob_assign_glob(a,b,c) S_glob_assign_glob(aTHX_ a,b,c)
#define glob_assign_ref(a,b) S_glob_assign_ref(aTHX_ a,b)
-#endif
-# if defined(USE_ITHREADS)
-#ifdef PERL_CORE
#define ptr_table_find S_ptr_table_find
#endif
-# endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
PERLVAR(IProc, struct IPerlProc*)
#endif
-#if defined(USE_ITHREADS)
PERLVAR(Iptr_table, PTR_TBL_t*)
-#endif
PERLVARI(Ibeginav_save, AV*, NULL) /* save BEGIN{}s when compiling */
PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
unless ($define{'USE_ITHREADS'}) {
skip_symbols [qw(
- PL_ptr_table
- PL_pte_root
- PL_pte_arenaroot
PL_op_mutex
PL_regex_pad
PL_regex_padav
Perl_rvpv_dup
Perl_hek_dup
Perl_sys_intern_dup
- Perl_ptr_table_clear
- Perl_ptr_table_fetch
- Perl_ptr_table_free
- Perl_ptr_table_new
- Perl_ptr_table_clear
- Perl_ptr_table_free
- Perl_ptr_table_split
- Perl_ptr_table_store
perl_clone
perl_clone_using
Perl_sharedsv_find
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
+#endif
PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
__attribute__malloc__
__attribute__warn_unused_result__;
PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *tbl);
PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *tbl);
+#if defined(USE_ITHREADS)
# if defined(HAVE_INTERP_INTERN)
PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-# if defined(USE_ITHREADS)
STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *tbl, const void *sv)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-# endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
return mgret;
}
+#endif /* USE_ITHREADS */
+
/* create a new pointer-mapping table */
PTR_TBL_t *
Safefree(tbl);
}
+#if defined(USE_ITHREADS)
void
Perl_rvpv_dup(pTHX_ SV *dstr, const SV *sstr, CLONE_PARAMS* param)