Integrate with Sarathy.
[p5sagit/p5-mst-13.2.git] / embed.pl
index 932124a..eb7e38c 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -291,6 +291,9 @@ print EM <<'END';
 
 /* provide binary compatible (but inconsistent) names */
 #if defined(PERL_BINCOMPAT_5005)
+#  define  Perl_call_atexit            perl_atexit
+#  define  Perl_eval_sv                        perl_eval_sv
+#  define  Perl_eval_pv                        perl_eval_pv
 #  define  Perl_call_argv              perl_call_argv
 #  define  Perl_call_method            perl_call_method
 #  define  Perl_call_pv                        perl_call_pv
@@ -500,6 +503,7 @@ print EM <<'END';
 #  define deb                          Perl_deb_nocontext
 #  define die                          Perl_die_nocontext
 #  define form                         Perl_form_nocontext
+#  define load_module                  Perl_load_module_nocontext
 #  define mess                         Perl_mess_nocontext
 #  define newSVpvf                     Perl_newSVpvf_nocontext
 #  define sv_catpvf                    Perl_sv_catpvf_nocontext
@@ -518,6 +522,7 @@ print EM <<'END';
 #  define Perl_die_nocontext           Perl_die
 #  define Perl_deb_nocontext           Perl_deb
 #  define Perl_form_nocontext          Perl_form
+#  define Perl_load_module_nocontext   Perl_load_module
 #  define Perl_mess_nocontext          Perl_mess
 #  define Perl_newSVpvf_nocontext      Perl_newSVpvf
 #  define Perl_sv_catpvf_nocontext     Perl_sv_catpvf
@@ -683,7 +688,7 @@ print EM <<'END';
 
 #endif /* PERL_GLOBAL_STRUCT */
 
-#ifdef PERL_POLLUTE            /* disabled by default in 5.006 */
+#ifdef PERL_POLLUTE            /* disabled by default in 5.6.0 */
 
 END
 
@@ -821,7 +826,7 @@ EXT void *PL_force_link_funcs[] = {
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#define PERLVAR(v,t)   Perl_##v##_ptr,
+#define PERLVAR(v,t)   (void*)Perl_##v##_ptr,
 #define PERLVARA(v,n,t)        PERLVAR(v,t)
 #define PERLVARI(v,t,i)        PERLVAR(v,t)
 #define PERLVARIC(v,t,i) PERLVAR(v,t)
@@ -865,6 +870,7 @@ print CAPIH <<'EOT';
 #endif /* __perlapi_h__ */
 
 EOT
+close CAPIH;
 
 print CAPI <<'EOT';
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
@@ -931,6 +937,7 @@ my %vfuncs = qw(
     Perl_warner                        Perl_vwarner
     Perl_die                   Perl_vdie
     Perl_form                  Perl_vform
+    Perl_load_module           Perl_vload_module
     Perl_mess                  Perl_vmess
     Perl_deb                   Perl_vdeb
     Perl_newSVpvf              Perl_vnewSVpvf
@@ -1228,7 +1235,7 @@ perlintern - autogenerated documentation of purely B<internal>
 =head1 DESCRIPTION
 
 This file is the autogenerated documentation of functions in the 
-Perl intrepreter that are documented using Perl's internal documentation
+Perl interpreter that are documented using Perl's internal documentation
 format but are not marked as part of the Perl API. In other words, 
 B<they are not for use in extensions>!
 
@@ -1245,7 +1252,7 @@ print GUTS <<'END';
 
 =head1 AUTHORS
 
-The autodocumentation system was orignally added to the Perl core by 
+The autodocumentation system was originally added to the Perl core by 
 Benjamin Stuhl. Documentation is by whoever was kind enough to 
 document their functions.
 
@@ -1293,9 +1300,8 @@ Ajno      |PerlInterpreter*       |perl_alloc_using \
                                |struct IPerlStdIO* io|struct IPerlLIO* lio \
                                |struct IPerlDir* d|struct IPerlSock* s \
                                |struct IPerlProc* p
-#else
-Ajnod  |PerlInterpreter*       |perl_alloc
 #endif
+Ajnod  |PerlInterpreter*       |perl_alloc
 Ajnod  |void   |perl_construct |PerlInterpreter* interp
 Ajnod  |void   |perl_destruct  |PerlInterpreter* interp
 Ajnod  |void   |perl_free      |PerlInterpreter* interp
@@ -1323,6 +1329,9 @@ Ajnop     |Free_t |mfree          |Malloc_t where
 jnp    |MEM_SIZE|malloced_size |void *p
 #endif
 
+Ajnp   |void*  |get_context
+Ajnp   |void   |set_context    |void *thx
+
 END_EXTERN_C
 
 /* functions with flag 'n' should come before here */
@@ -1352,6 +1361,7 @@ p |I32    |apply          |I32 type|SV** mark|SV** sp
 Ap     |SV*    |avhv_delete_ent|AV *ar|SV* keysv|I32 flags|U32 hash
 Ap     |bool   |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
 Ap     |SV**   |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
+Ap     |SV**   |avhv_store_ent |AV *ar|SV* keysv|SV* val|U32 hash
 Ap     |HE*    |avhv_iternext  |AV *ar
 Ap     |SV*    |avhv_iterval   |AV *ar|HE* entry
 Ap     |HV*    |avhv_keys      |AV *ar
@@ -1376,7 +1386,7 @@ p |OP*    |block_end      |I32 floor|OP* seq
 Ap     |I32    |block_gimme
 p      |int    |block_start    |int full
 p      |void   |boot_core_UNIVERSAL
-p      |void   |call_list      |I32 oldscope|AV* av_list
+Ap     |void   |call_list      |I32 oldscope|AV* av_list
 p      |bool   |cando          |Mode_t mode|Uid_t effective|Stat_t* statbufp
 Ap     |U32    |cast_ulong     |NV f
 Ap     |I32    |cast_i32       |NV f
@@ -1386,7 +1396,7 @@ Ap        |UV     |cast_uv        |NV f
 Ap     |I32    |my_chsize      |int fd|Off_t length
 #endif
 #if defined(USE_THREADS)
-p      |MAGIC* |condpair_magic |SV *sv
+Ap     |MAGIC* |condpair_magic |SV *sv
 #endif
 p      |OP*    |convert        |I32 optype|I32 flags|OP* o
 Afprd  |void   |croak          |const char* pat|...
@@ -1396,6 +1406,7 @@ Afnrp     |void   |croak_nocontext|const char* pat|...
 Afnp   |OP*    |die_nocontext  |const char* pat|...
 Afnp   |void   |deb_nocontext  |const char* pat|...
 Afnp   |char*  |form_nocontext |const char* pat|...
+Afnp   |void   |load_module_nocontext|U32 flags|SV* name|SV* ver|...
 Afnp   |SV*    |mess_nocontext |const char* pat|...
 Afnp   |void   |warn_nocontext |const char* pat|...
 Afnp   |void   |warner_nocontext|U32 err|const char* pat|...
@@ -1408,9 +1419,9 @@ Afnp      |int    |fprintf_nocontext|PerlIO* stream|const char* fmt|...
 #endif
 p      |void   |cv_ckproto     |CV* cv|GV* gv|char* p
 p      |CV*    |cv_clone       |CV* proto
-p      |SV*    |cv_const_sv    |CV* cv
+Ap     |SV*    |cv_const_sv    |CV* cv
 p      |SV*    |op_const_sv    |OP* o|CV* cv
-p      |void   |cv_undef       |CV* cv
+Ap     |void   |cv_undef       |CV* cv
 Ap     |void   |cx_dump        |PERL_CONTEXT* cs
 Ap     |SV*    |filter_add     |filter_t funcp|SV* datasv
 Ap     |void   |filter_del     |filter_t funcp
@@ -1430,15 +1441,15 @@ Ap      |I32    |debstackptrs
 Ap     |char*  |delimcpy       |char* to|char* toend|char* from \
                                |char* fromend|int delim|I32* retlen
 p      |void   |deprecate      |char* s
-fp     |OP*    |die            |const char* pat|...
+Afp    |OP*    |die            |const char* pat|...
 p      |OP*    |vdie           |const char* pat|va_list* args
 p      |OP*    |die_where      |char* message|STRLEN msglen
-p      |void   |dounwind       |I32 cxix
+Ap     |void   |dounwind       |I32 cxix
 p      |bool   |do_aexec       |SV* really|SV** mark|SV** sp
 p      |bool   |do_aexec5      |SV* really|SV** mark|SV** sp|int fd|int flag
-Ap     |int    |do_binmode     |PerlIO *fp|int iotype|int flag
+Ap     |int    |do_binmode     |PerlIO *fp|int iotype|int mode
 p      |void   |do_chop        |SV* asv|SV* sv
-p      |bool   |do_close       |GV* gv|bool not_implicit
+Ap     |bool   |do_close       |GV* gv|bool not_implicit
 p      |bool   |do_eof         |GV* gv
 p      |bool   |do_exec        |char* cmd
 #if !defined(WIN32)
@@ -1453,7 +1464,7 @@ p |I32    |do_msgsnd      |SV** mark|SV** sp
 p      |I32    |do_semop       |SV** mark|SV** sp
 p      |I32    |do_shmio       |I32 optype|SV** mark|SV** sp
 #endif
-p      |void   |do_join        |SV* sv|SV* del|SV** mark|SV** sp
+Ap     |void   |do_join        |SV* sv|SV* del|SV** mark|SV** sp
 p      |OP*    |do_kv
 Ap     |bool   |do_open        |GV* gv|char* name|I32 len|int as_raw \
                                |int rawmode|int rawperm|PerlIO* supplied_fp
@@ -1551,7 +1562,7 @@ Ap        |I32    |ibcmp          |const char* a|const char* b|I32 len
 Ap     |I32    |ibcmp_locale   |const char* a|const char* b|I32 len
 p      |bool   |ingroup        |Gid_t testgid|Uid_t effective
 p      |void   |init_debugger
-p      |void   |init_stacks
+Ap     |void   |init_stacks
 p      |U32    |intro_my
 Ap     |char*  |instr          |const char* big|const char* little
 p      |bool   |io_close       |IO* io|bool not_implicit
@@ -1590,6 +1601,7 @@ Ap        |bool   |is_uni_xdigit_lc|U32 c
 Ap     |U32    |to_uni_upper_lc|U32 c
 Ap     |U32    |to_uni_title_lc|U32 c
 Ap     |U32    |to_uni_lower_lc|U32 c
+Ap     |int    |is_utf8_char   |U8 *p
 Ap     |bool   |is_utf8_alnum  |U8 *p
 Ap     |bool   |is_utf8_alnumc |U8 *p
 Ap     |bool   |is_utf8_idfirst|U8 *p
@@ -1607,12 +1619,14 @@ Ap      |bool   |is_utf8_xdigit |U8 *p
 Ap     |bool   |is_utf8_mark   |U8 *p
 p      |OP*    |jmaybe         |OP* arg
 p      |I32    |keyword        |char* d|I32 len
-p      |void   |leave_scope    |I32 base
+Ap     |void   |leave_scope    |I32 base
 p      |void   |lex_end
 p      |void   |lex_start      |SV* line
 p      |OP*    |linklist       |OP* o
 p      |OP*    |list           |OP* o
 p      |OP*    |listkids       |OP* o
+Afp    |void   |load_module|U32 flags|SV* name|SV* ver|...
+Ap     |void   |vload_module|U32 flags|SV* name|SV* ver|va_list* args
 p      |OP*    |localize       |OP* arg|I32 lexical
 Apd    |I32    |looks_like_number|SV* sv
 p      |int    |magic_clearenv |SV* sv|MAGIC* mg
@@ -1683,7 +1697,8 @@ Apd       |void   |mg_magical     |SV* sv
 Apd    |int    |mg_set         |SV* sv
 Ap     |I32    |mg_size        |SV* sv
 p      |OP*    |mod            |OP* o|I32 type
-p      |char*  |moreswitches   |char* s
+p      |int    |mode_from_discipline|SV* discp
+Ap     |char*  |moreswitches   |char* s
 p      |OP*    |my             |OP* o
 Ap     |NV     |my_atof        |const char *s
 #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
@@ -1755,6 +1770,7 @@ Ap        |SV*    |newSV          |STRLEN len
 Ap     |OP*    |newSVREF       |OP* o
 Ap     |OP*    |newSVOP        |I32 type|I32 flags|SV* sv
 Apd    |SV*    |newSViv        |IV i
+Apd    |SV*    |newSVuv        |UV u
 Apd    |SV*    |newSVnv        |NV n
 Apd    |SV*    |newSVpv        |const char* s|STRLEN len
 Apd    |SV*    |newSVpvn       |const char* s|STRLEN len
@@ -1766,12 +1782,12 @@ Ap      |OP*    |newUNOP        |I32 type|I32 flags|OP* first
 Ap     |OP*    |newWHILEOP     |I32 flags|I32 debuggable|LOOP* loop \
                                |I32 whileline|OP* expr|OP* block|OP* cont
 
-p      |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
+Ap     |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
 p      |PerlIO*|nextargv       |GV* gv
 Ap     |char*  |ninstr         |const char* big|const char* bigend \
                                |const char* little|const char* lend
 p      |OP*    |oopsCV         |OP* o
-p      |void   |op_free        |OP* arg
+Ap     |void   |op_free        |OP* arg
 p      |void   |package        |OP* o
 p      |PADOFFSET|pad_alloc    |I32 optype|U32 tmptype
 p      |PADOFFSET|pad_allocmy  |char* name
@@ -1779,7 +1795,7 @@ p |PADOFFSET|pad_findmy   |char* name
 p      |OP*    |oopsAV         |OP* o
 p      |OP*    |oopsHV         |OP* o
 p      |void   |pad_leavemy    |I32 fill
-p      |SV*    |pad_sv         |PADOFFSET po
+Ap     |SV*    |pad_sv         |PADOFFSET po
 p      |void   |pad_free       |PADOFFSET po
 p      |void   |pad_reset
 p      |void   |pad_swipe      |PADOFFSET po
@@ -1806,8 +1822,8 @@ Apd       |SV*    |get_sv         |const char* name|I32 create
 Apd    |AV*    |get_av         |const char* name|I32 create
 Apd    |HV*    |get_hv         |const char* name|I32 create
 Apd    |CV*    |get_cv         |const char* name|I32 create
-p      |int    |init_i18nl10n  |int printwarn
-p      |int    |init_i18nl14n  |int printwarn
+Ap     |int    |init_i18nl10n  |int printwarn
+Ap     |int    |init_i18nl14n  |int printwarn
 Ap     |void   |new_collate    |const char* newcoll
 Ap     |void   |new_ctype      |const char* newctype
 Ap     |void   |new_numeric    |const char* newcoll
@@ -1816,7 +1832,7 @@ Ap        |void   |set_numeric_radix
 Ap     |void   |set_numeric_standard
 Apd    |void   |require_pv     |const char* pv
 p      |void   |pidgone        |Pid_t pid|int status
-p      |void   |pmflag         |U16* pmfl|int ch
+Ap     |void   |pmflag         |U16* pmfl|int ch
 p      |OP*    |pmruntime      |OP* pm|OP* expr|OP* repl
 p      |OP*    |pmtrans        |OP* o|OP* expr|OP* repl
 p      |OP*    |pop_return
@@ -1827,24 +1843,24 @@ Ap      |void   |push_scope
 p      |OP*    |ref            |OP* o|I32 type
 p      |OP*    |refkids        |OP* o|I32 type
 Ap     |void   |regdump        |regexp* r
-p      |I32    |pregexec       |regexp* prog|char* stringarg \
+Ap     |I32    |pregexec       |regexp* prog|char* stringarg \
                                |char* strend|char* strbeg|I32 minend \
                                |SV* screamer|U32 nosave
-p      |void   |pregfree       |struct regexp* r
-p      |regexp*|pregcomp       |char* exp|char* xend|PMOP* pm
-p      |char*  |re_intuit_start|regexp* prog|SV* sv|char* strpos \
+Ap     |void   |pregfree       |struct regexp* r
+Ap     |regexp*|pregcomp       |char* exp|char* xend|PMOP* pm
+Ap     |char*  |re_intuit_start|regexp* prog|SV* sv|char* strpos \
                                |char* strend|U32 flags \
                                |struct re_scream_pos_data_s *data
-p      |SV*    |re_intuit_string|regexp* prog
-p      |I32    |regexec_flags  |regexp* prog|char* stringarg \
+Ap     |SV*    |re_intuit_string|regexp* prog
+Ap     |I32    |regexec_flags  |regexp* prog|char* stringarg \
                                |char* strend|char* strbeg|I32 minend \
                                |SV* screamer|void* data|U32 flags
-p      |regnode*|regnext       |regnode* p
+Ap     |regnode*|regnext       |regnode* p
 p      |void   |regprop        |SV* sv|regnode* o
-p      |void   |repeatcpy      |char* to|const char* from|I32 len|I32 count
+Ap     |void   |repeatcpy      |char* to|const char* from|I32 len|I32 count
 Ap     |char*  |rninstr        |const char* big|const char* bigend \
                                |const char* little|const char* lend
-p      |Sighandler_t|rsignal   |int i|Sighandler_t t
+Ap     |Sighandler_t|rsignal   |int i|Sighandler_t t
 p      |int    |rsignal_restore|int i|Sigsave_t* t
 p      |int    |rsignal_save   |int i|Sighandler_t t1|Sigsave_t* t2
 p      |Sighandler_t|rsignal_state|int i
@@ -1896,18 +1912,18 @@ p       |OP*    |scalar         |OP* o
 p      |OP*    |scalarkids     |OP* o
 p      |OP*    |scalarseq      |OP* o
 p      |OP*    |scalarvoid     |OP* o
-p      |NV     |scan_bin       |char* start|I32 len|I32* retlen
-p      |NV     |scan_hex       |char* start|I32 len|I32* retlen
-p      |char*  |scan_num       |char* s
-p      |NV     |scan_oct       |char* start|I32 len|I32* retlen
+Ap     |NV     |scan_bin       |char* start|I32 len|I32* retlen
+Ap     |NV     |scan_hex       |char* start|I32 len|I32* retlen
+Ap     |char*  |scan_num       |char* s
+Ap     |NV     |scan_oct       |char* start|I32 len|I32* retlen
 p      |OP*    |scope          |OP* o
-p      |char*  |screaminstr    |SV* bigsv|SV* littlesv|I32 start_shift \
+Ap     |char*  |screaminstr    |SV* bigsv|SV* littlesv|I32 start_shift \
                                |I32 end_shift|I32 *state|I32 last
 #if !defined(VMS)
 p      |I32    |setenv_getix   |char* nam
 #endif
 p      |void   |setdefout      |GV* gv
-p      |char*  |sharepvn       |const char* sv|I32 len|U32 hash
+Ap     |char*  |sharepvn       |const char* sv|I32 len|U32 hash
 p      |HEK*   |share_hek      |const char* sv|I32 len|U32 hash
 np     |Signal_t |sighandler   |int sig
 Ap     |SV**   |stack_grow     |SV** sp|SV**p|int n
@@ -1947,14 +1963,14 @@ Ap      |I32    |sv_cmp_locale  |SV* sv1|SV* sv2
 #if defined(USE_LOCALE_COLLATE)
 Ap     |char*  |sv_collxfrm    |SV* sv|STRLEN* nxp
 #endif
-p      |OP*    |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp
+Ap     |OP*    |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp
 Apd    |void   |sv_dec         |SV* sv
 Ap     |void   |sv_dump        |SV* sv
 Apd    |bool   |sv_derived_from|SV* sv|const char* name
 Apd    |I32    |sv_eq          |SV* sv1|SV* sv2
 Ap     |void   |sv_free        |SV* sv
 p      |void   |sv_free_arenas
-p      |char*  |sv_gets        |SV* sv|PerlIO* fp|I32 append
+Ap     |char*  |sv_gets        |SV* sv|PerlIO* fp|I32 append
 Apd    |char*  |sv_grow        |SV* sv|STRLEN newlen
 Apd    |void   |sv_inc         |SV* sv
 Apd    |void   |sv_insert      |SV* bigsv|STRLEN offset|STRLEN len \
@@ -2005,9 +2021,10 @@ Apd      |void   |sv_vcatpvfn    |SV* sv|const char* pat|STRLEN patlen \
 Apd    |void   |sv_vsetpvfn    |SV* sv|const char* pat|STRLEN patlen \
                                |va_list* args|SV** svargs|I32 svmax \
                                |bool *maybe_tainted
-p      |SV*    |swash_init     |char* pkg|char* name|SV* listsv \
+Ap     |NV     |str_to_version |SV *sv
+Ap     |SV*    |swash_init     |char* pkg|char* name|SV* listsv \
                                |I32 minbits|I32 none
-p      |UV     |swash_fetch    |SV *sv|U8 *ptr
+Ap     |UV     |swash_fetch    |SV *sv|U8 *ptr
 Ap     |void   |taint_env
 Ap     |void   |taint_proper   |const char* f|const char* s
 Ap     |UV     |to_utf8_lower  |U8 *p
@@ -2017,9 +2034,9 @@ Ap        |UV     |to_utf8_title  |U8 *p
 Ap     |I32    |unlnk          |char* f
 #endif
 #if defined(USE_THREADS)
-p      |void   |unlock_condpair|void* svv
+Ap     |void   |unlock_condpair|void* svv
 #endif
-p      |void   |unsharepvn     |const char* sv|I32 len|U32 hash
+Ap     |void   |unsharepvn     |const char* sv|I32 len|U32 hash
 p      |void   |unshare_hek    |HEK* hek
 p      |void   |utilize        |int aver|I32 floor|OP* version|OP* id|OP* arg
 Ap     |U8*    |utf16_to_utf8  |U16* p|U8 *d|I32 bytelen
@@ -2038,7 +2055,7 @@ Ap        |void   |vwarn          |const char* pat|va_list* args
 Afp    |void   |warner         |U32 err|const char* pat|...
 Ap     |void   |vwarner        |U32 err|const char* pat|va_list* args
 p      |void   |watch          |char** addr
-p      |I32    |whichsig       |char* sig
+Ap     |I32    |whichsig       |char* sig
 p      |int    |yyerror        |char* s
 #if defined(USE_PURE_BISON)
 p      |int    |yylex          |YYSTYPE *lvalp|int *lcharp
@@ -2049,6 +2066,7 @@ p |int    |yyparse
 p      |int    |yywarn         |char* s
 #if defined(MYMALLOC)
 Ap     |void   |dump_mstats    |char* s
+Ap     |int    |get_mstats     |perl_mstats_t *buf|int buflen|int level
 #endif
 Anp    |Malloc_t|safesysmalloc |MEM_SIZE nbytes
 Anp    |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
@@ -2096,10 +2114,12 @@ Ap      |void   |do_pmop_dump   |I32 level|PerlIO *file|PMOP *pm
 Ap     |void   |do_sv_dump     |I32 level|PerlIO *file|SV *sv|I32 nest \
                                |I32 maxnest|bool dumpops|STRLEN pvlim
 Ap     |void   |magic_dump     |MAGIC *mg
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 Ap     |void*  |default_protect|volatile JMPENV *je|int *excpt \
                                |protect_body_t body|...
 Ap     |void*  |vdefault_protect|volatile JMPENV *je|int *excpt \
                                |protect_body_t body|va_list *args
+#endif
 Ap     |void   |reginitcolors
 Ap     |char*  |sv_2pv_nolen   |SV* sv
 Ap     |char*  |sv_2pvutf8_nolen|SV* sv
@@ -2107,6 +2127,10 @@ Ap       |char*  |sv_2pvbyte_nolen|SV* sv
 Ap     |char*  |sv_pv          |SV *sv
 Ap     |char*  |sv_pvutf8      |SV *sv
 Ap     |char*  |sv_pvbyte      |SV *sv
+Ap      |void   |sv_utf8_upgrade|SV *sv
+Ap      |bool   |sv_utf8_downgrade|SV *sv|bool fail_ok
+Ap      |void   |sv_utf8_encode |SV *sv
+Ap      |bool   |sv_utf8_decode |SV *sv
 Ap     |void   |sv_force_normal|SV *sv
 Ap     |void   |tmps_grow      |I32 n
 Ap     |SV*    |sv_rvweaken    |SV *sv
@@ -2146,6 +2170,7 @@ END_EXTERN_C
 
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 s      |I32    |avhv_index_sv  |SV* sv
+s      |I32    |avhv_index     |AV* av|SV* sv|U32 hash
 #endif
 
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
@@ -2216,7 +2241,7 @@ s |void*  |Slab_Alloc     |int m|size_t sz
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 s      |void   |find_beginning
 s      |void   |forbid_setid   |char *
-s      |void   |incpush        |char *|int
+s      |void   |incpush        |char *|int|int
 s      |void   |init_interp
 s      |void   |init_ids
 s      |void   |init_lexer
@@ -2232,11 +2257,16 @@ s       |void   |validate_suid  |char *|char*|int
 #  if defined(IAMSUID)
 s      |int    |fd_on_nosuid_fs|int fd
 #  endif
-s      |void*  |parse_body     |va_list args
-s      |void*  |run_body       |va_list args
-s      |void*  |call_body      |va_list args
-s      |void   |call_xbody     |OP *myop|int is_eval
-s      |void*  |call_list_body |va_list args
+s      |void*  |parse_body     |char **env|XSINIT_t xsinit
+s      |void*  |run_body       |I32 oldscope
+s      |void   |call_body      |OP *myop|int is_eval
+s      |void*  |call_list_body |CV *cv
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+s      |void*  |vparse_body    |va_list args
+s      |void*  |vrun_body      |va_list args
+s      |void*  |vcall_body     |va_list args
+s      |void*  |vcall_list_body|va_list args
+#endif
 #  if defined(USE_THREADS)
 s      |struct perl_thread *   |init_main_thread
 #  endif
@@ -2253,7 +2283,10 @@ s        |int    |div128         |SV *pnum|bool *done
 
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 s      |OP*    |docatch        |OP *o
-s      |void*  |docatch_body   |va_list args
+s      |void*  |docatch_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+s      |void*  |vdocatch_body  |va_list args
+#endif
 s      |OP*    |dofindlabel    |OP *o|char *label|OP **opstack|OP **oplimit
 s      |void   |doparseform    |SV *sv
 s      |I32    |dopoptoeval    |I32 startingblock
@@ -2269,6 +2302,9 @@ s |void   |qsortsv        |SV ** array|size_t num_elts|SVCOMPARE_t f
 #endif
 
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+s      |int    |do_maybe_phash |AV *ary|SV **lelem|SV **firstlelem \
+                               |SV **relem|SV **lastrelem
+s      |void   |do_oddball     |HV *hash|SV **relem|SV **firstrelem
 s      |CV*    |get_db_sub     |SV **svp|CV *cv
 s      |SV*    |method_common  |SV* meth|U32* hashp
 #endif
@@ -2385,12 +2421,6 @@ s        |void   |del_xrv        |XRV* p
 s      |void   |sv_unglob      |SV* sv
 s      |void   |not_a_number   |SV *sv
 s      |void   |visit          |SVFUNC_t f
-#  if defined(PURIFY)
-s      |void   |reg_add        |SV *sv
-s      |void   |reg_remove     |SV *sv
-#  else
-ns     |void*  |my_safemalloc  |MEM_SIZE size
-#  endif
 s      |void   |sv_add_backref |SV *tsv|SV *sv
 s      |void   |sv_del_backref |SV *sv
 #  if defined(DEBUGGING)
@@ -2436,8 +2466,10 @@ s        |SV*    |new_constant   |char *s|STRLEN len|const char *key|SV *sv \
 s      |int    |ao             |int toketype
 s      |void   |depcom
 s      |char*  |incl_perldb
+#if 0
 s      |I32    |utf16_textfilter|int idx|SV *sv|int maxlen
 s      |I32    |utf16rev_textfilter|int idx|SV *sv|int maxlen
+#endif
 #  if defined(CRIPPLED_CC)
 s      |int    |uni            |I32 f|char *s
 #  endif