On OS X to use perl's malloc need to USE_PERL_SBRK and emulate sbrk()
[p5sagit/p5-mst-13.2.git] / embed.fnc
index c05c422..d5f44f3 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -246,7 +246,7 @@ Ap  |char*  |vform          |const char* pat|va_list* args
 Ap     |void   |free_tmps
 p      |OP*    |gen_constant_list|OP* o
 #if !defined(HAS_GETENV_LEN)
-p      |char*  |getenv_len     |const char* key|unsigned long *len
+p      |char*  |getenv_len     |NN const char* key|NN unsigned long *len
 #endif
 Ap     |void   |gp_free        |GV* gv
 Ap     |GP*    |gp_ref         |GP* gp
@@ -396,7 +396,7 @@ p   |int    |magic_existspack|SV* sv|MAGIC* mg
 p      |int    |magic_freeregexp|SV* sv|MAGIC* mg
 p      |int    |magic_freeovrld|SV* sv|MAGIC* mg
 p      |int    |magic_get      |SV* sv|MAGIC* mg
-p      |int    |magic_getarylen|SV* sv|MAGIC* mg
+p      |int    |magic_getarylen|NN SV* sv|NN const MAGIC* mg
 p      |int    |magic_getdefelem|SV* sv|MAGIC* mg
 p      |int    |magic_getglob  |SV* sv|MAGIC* mg
 p      |int    |magic_getnkeys |SV* sv|MAGIC* mg
@@ -597,9 +597,9 @@ Apd |HV*    |get_hv         |const char* name|I32 create
 Apd    |CV*    |get_cv         |const char* name|I32 create
 Ap     |int    |init_i18nl10n  |int printwarn
 Ap     |int    |init_i18nl14n  |int printwarn
-Ap     |void   |new_collate    |NN char* newcoll
-Ap     |void   |new_ctype      |NN char* newctype
-Ap     |void   |new_numeric    |NN char* newcoll
+Ap     |void   |new_collate    |NULLOK const char* newcoll
+Ap     |void   |new_ctype      |NN const char* newctype
+Ap     |void   |new_numeric    |NULLOK const char* newcoll
 Ap     |void   |set_numeric_local
 Ap     |void   |set_numeric_radix
 Ap     |void   |set_numeric_standard
@@ -819,7 +819,7 @@ Ap  |NV     |str_to_version |SV *sv
 Ap     |SV*    |swash_init     |const char* pkg|const char* name|SV* listsv|I32 minbits|I32 none
 Ap     |UV     |swash_fetch    |SV *sv|const U8 *ptr|bool do_utf8
 Ap     |void   |taint_env
-Ap     |void   |taint_proper   |const char* f|const char* s
+Ap     |void   |taint_proper   |NULLOK const char* f|NN const char* s
 Apd    |UV     |to_utf8_case   |NN const U8 *p|NN U8* ustrp|STRLEN *lenp|SV **swash|const char *normal|const char *special
 Apd    |UV     |to_utf8_lower  |NN const U8 *p|NN U8* ustrp|STRLEN *lenp
 Apd    |UV     |to_utf8_upper  |NN const U8 *p|NN U8* ustrp|STRLEN *lenp
@@ -1015,6 +1015,9 @@ s |void   |save_magic     |I32 mgs_ix|NN SV *sv
 s      |int    |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN const char *meth
 s      |int    |magic_methcall |NN SV *sv|NN const MAGIC *mg|NN const char *meth|I32 f \
                                |int n|SV *val
+s      |void   |restore_magic  |NN const void *p
+s      |void   |unwind_handler_stack|NN const void *p
+
 #endif
 
 #if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
@@ -1226,14 +1229,17 @@ s       |void   |debprof        |const OP *o
 s      |SV*    |save_scalar_at |SV **sptr
 #endif
 
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+po     |void   |sv_add_backref |NN SV *tsv|NN SV *sv
+#endif
+
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 sR     |IV     |asIV           |NN SV* sv
 sR     |UV     |asUV           |NN SV* sv
 s      |void   |sv_unglob      |NN SV* sv
 s      |void   |not_a_number   |NN SV *sv
 s      |I32    |visit          |NN SVFUNC_t f|U32 flags|U32 mask
-s      |void   |sv_add_backref |NN SV *tsv|NN SV *sv
-s      |void   |sv_del_backref |NN SV *sv
+s      |void   |sv_del_backref |NN SV *target|NN SV *ref
 sR     |SV *   |varname        |NULLOK GV *gv|NN const char *gvtype|PADOFFSET targ \
                                |NULLOK SV *keyname|I32 aindex|int subscript_type
 #  ifdef DEBUGGING
@@ -1244,9 +1250,6 @@ s |int    |sv_2iuv_non_preserve   |SV *sv|I32 numtype
 #  endif
 sR     |I32    |expect_number  |NN char** pattern
 #
-#  if defined(USE_ITHREADS)
-s      |SV*    |gv_share       |SV *sv|CLONE_PARAMS *param
-#  endif
 s      |bool   |utf8_mg_pos    |NN SV *sv|NN MAGIC **mgp|NN STRLEN **cachep \
                                |I32 i|NN I32 *offsetp|I32 uoff \
                                |NN const U8 **sp|NN const U8 *start \
@@ -1318,12 +1321,12 @@ s       |SV*|isa_lookup |HV *stash|const char *name|HV *name_stash|int len|int level
 
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
 #if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-s      |char*  |stdize_locale  |char* locs
+s      |char*  |stdize_locale  |NN char* locs
 #endif
 #endif
 
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-s      |COP*   |closest_cop    |COP *cop|OP *o
+s      |COP*   |closest_cop    |NN COP *cop|NULLOK const OP *o
 s      |SV*    |mess_alloc
 #endif
 
@@ -1514,6 +1517,10 @@ dpR      |bool   |is_gv_magical_sv|SV *name|U32 flags
 
 ApR    |bool   |stashpv_hvname_match|NN const COP *cop|NN const HV *hv
 
+#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
+p      |void   |dump_sv_child  |SV *sv
+#endif
+
 END_EXTERN_C
 /*
  * ex: set ts=8 sts=4 sw=4 noet: