Todo updates.
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 2d6e432..06ce95a 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -24,11 +24,11 @@ PERL_CALLCONV PerlInterpreter*      perl_clone_using(PerlInterpreter *interp, UV flag
 #  endif
 #endif
 
-#if defined(MYMALLOC)
 PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes);
 PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size);
 PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes);
 PERL_CALLCONV Free_t   Perl_mfree(Malloc_t where);
+#if defined(MYMALLOC)
 PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p);
 #endif
 
@@ -496,6 +496,9 @@ PERL_CALLCONV char* Perl_my_bzero(char* loc, I32 len);
 PERL_CALLCONV void     Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
 PERL_CALLCONV void     Perl_my_failure_exit(pTHX) __attribute__((noreturn));
 PERL_CALLCONV I32      Perl_my_fflush_all(pTHX);
+PERL_CALLCONV Pid_t    Perl_my_fork(void);
+PERL_CALLCONV void     Perl_atfork_lock(void);
+PERL_CALLCONV void     Perl_atfork_unlock(void);
 PERL_CALLCONV I32      Perl_my_lstat(pTHX);
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 PERL_CALLCONV I32      Perl_my_memcmp(const char* s1, const char* s2, I32 len);
@@ -755,7 +758,7 @@ PERL_CALLCONV I32   Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
 PERL_CALLCONV char*    Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
 #endif
 PERL_CALLCONV OP*      Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
-PERL_CALLCONV int      Perl_sv_getcwd(pTHX_ SV* sv);
+PERL_CALLCONV int      Perl_getcwd_sv(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_sv_dec(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_sv_dump(pTHX_ SV* sv);
 PERL_CALLCONV bool     Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
@@ -961,7 +964,7 @@ PERL_CALLCONV PERL_SI*      Perl_si_dup(pTHX_ PERL_SI* si, clone_params* param);
 PERL_CALLCONV ANY*     Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, clone_params* param);
 PERL_CALLCONV void*    Perl_any_dup(pTHX_ void* v, PerlInterpreter* proto_perl);
 PERL_CALLCONV HE*      Perl_he_dup(pTHX_ HE* e, bool shared, clone_params* param);
-PERL_CALLCONV REGEXP*  Perl_re_dup(pTHX_ REGEXP* r);
+PERL_CALLCONV REGEXP*  Perl_re_dup(pTHX_ REGEXP* r, clone_params* param);
 PERL_CALLCONV PerlIO*  Perl_fp_dup(pTHX_ PerlIO* fp, char type);
 PERL_CALLCONV DIR*     Perl_dirp_dup(pTHX_ DIR* dp);
 PERL_CALLCONV GP*      Perl_gp_dup(pTHX_ GP* gp, clone_params* param);
@@ -1194,6 +1197,17 @@ STATIC void      S_debprof(pTHX_ OP *o);
 STATIC SV*     S_save_scalar_at(pTHX_ SV **sptr);
 #endif
 
+#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT))
+PERL_CALLCONV void     Perl_sharedsv_init(pTHX);
+PERL_CALLCONV shared_sv*       Perl_sharedsv_new(pTHX);
+PERL_CALLCONV shared_sv*       Perl_sharedsv_find(pTHX_ SV* sv);
+PERL_CALLCONV void     Perl_sharedsv_lock(pTHX_ shared_sv* ssv);
+PERL_CALLCONV void     Perl_sharedsv_unlock(pTHX_ shared_sv* ssv);
+PERL_CALLCONV void     Perl_sharedsv_unlock_scope(pTHX_ shared_sv* ssv);
+PERL_CALLCONV void     Perl_sharedsv_thrcnt_inc(pTHX_ shared_sv* ssv);
+PERL_CALLCONV void     Perl_sharedsv_thrcnt_dec(pTHX_ shared_sv* ssv);
+#endif
+
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 STATIC IV      S_asIV(pTHX_ SV* sv);
 STATIC UV      S_asUV(pTHX_ SV* sv);
@@ -1258,6 +1272,7 @@ STATIC void       S_force_next(pTHX_ I32 type);
 STATIC char*   S_force_version(pTHX_ char *start);
 STATIC char*   S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick);
 STATIC SV*     S_tokeq(pTHX_ SV *sv);
+STATIC int     S_pending_ident(pTHX);
 STATIC char*   S_scan_const(pTHX_ char *start);
 STATIC char*   S_scan_formline(pTHX_ char *s);
 STATIC char*   S_scan_heredoc(pTHX_ char *s);
@@ -1312,6 +1327,7 @@ STATIC char*      S_stdize_locale(pTHX_ char* locs);
 #endif
 
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+STATIC COP*    S_closest_cop(pTHX_ COP *cop, OP *o);
 STATIC SV*     S_mess_alloc(pTHX);
 #  if defined(LEAKTEST)
 STATIC void    S_xstat(pTHX_ int);