Devel::DProf consting
[p5sagit/p5-mst-13.2.git] / embed.fnc
index 4778e16..d74193e 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -129,6 +129,7 @@ ApR |UV     |cast_uv        |NV f
 ApR    |I32    |my_chsize      |int fd|Off_t length
 #endif
 pR     |OP*    |convert        |I32 optype|I32 flags|NULLOK OP* o
+pM     |PERL_CONTEXT*  |create_eval_scope|U32 flags
 : croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
 Afprd  |void   |croak          |NULLOK const char* pat|...
 Apr    |void   |vcroak         |NN const char* pat|NULLOK va_list* args
@@ -173,6 +174,7 @@ Ap  |I32    |debstack
 Ap     |I32    |debstackptrs
 Ap     |char*  |delimcpy       |NN char* to|NN const char* toend|NN const char* from \
                                |NN const char* fromend|int delim|NN I32* retlen
+pM     |void   |delete_eval_scope
 p      |void   |deprecate      |NN const char* s
 p      |void   |deprecate_old  |NN const char* s
 Afp    |OP*    |die            |NULLOK const char* pat|...
@@ -180,7 +182,7 @@ p   |OP*    |vdie           |NULLOK const char* pat|NULLOK va_list* args
 p      |OP*    |die_where      |NULLOK const char* message|STRLEN msglen
 Ap     |void   |dounwind       |I32 cxix
 pmb    |bool   |do_aexec       |NULLOK SV* really|NN SV** mark|NN SV** sp
-p      |bool   |do_aexec5      |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int flag
+p      |bool   |do_aexec5      |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
 Ap     |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
 p      |void   |do_chop        |NN SV* asv|NN SV* sv
 Ap     |bool   |do_close       |NN GV* gv|bool not_implicit
@@ -198,7 +200,7 @@ Ap  |int    |do_spawn       |NN char* cmd
 Ap     |int    |do_spawn_nowait|NN char* cmd
 #endif
 #if !defined(WIN32)
-p      |bool   |do_exec3       |NN const char* cmd|int fd|int flag
+p      |bool   |do_exec3       |NN const char* cmd|int fd|int do_report
 #endif
 p      |void   |do_execfree
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -509,7 +511,11 @@ Ap |OP*    |newANONSUB     |I32 floor|NULLOK OP* proto|NULLOK OP* block
 Apa    |OP*    |newASSIGNOP    |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
 Apa    |OP*    |newCONDOP      |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
 Apd    |CV*    |newCONSTSUB    |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
+#ifdef PERL_MAD
+Ap     |OP*    |newFORM        |I32 floor|NULLOK OP* o|NULLOK OP* block
+#else
 Ap     |void   |newFORM        |I32 floor|NULLOK OP* o|NULLOK OP* block
+#endif
 Apa    |OP*    |newFOROP       |I32 flags|NULLOK char* label|line_t forline \
                                |NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
 Apa    |OP*    |newGIVENOP     |NN OP* cond|NN OP* block|PADOFFSET defsv_off
@@ -575,7 +581,11 @@ ApP        |char*  |ninstr         |NN const char* big|NN const char* bigend \
                                |NN const char* little|NN const char* lend
 pr     |OP*    |oopsCV         |NN OP* o
 Ap     |void   |op_free        |NULLOK OP* arg
+#ifdef PERL_MAD
+p      |OP*    |package        |NN OP* o
+#else
 p      |void   |package        |NN OP* o
+#endif
 pd     |PADOFFSET|pad_alloc    |I32 optype|U32 tmptype
 p      |PADOFFSET|allocmy      |NN char* name
 pdR    |PADOFFSET|pad_findmy   |NN const char* name
@@ -859,7 +869,12 @@ Apd        |I32    |unpackstring   |NN const char *pat|NN const char *patend|NN const char *
                                |NN const char *strend|U32 flags
 Ap     |void   |unsharepvn     |NULLOK const char* sv|I32 len|U32 hash
 p      |void   |unshare_hek    |NULLOK HEK* hek
+#ifdef PERL_MAD
+p      |OP *   |utilize        |int aver|I32 floor|NULLOK OP* version \
+                               |NN OP* idop|NULLOK OP* arg
+#else
 p      |void   |utilize        |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
+#endif
 Ap     |U8*    |utf16_to_utf8  |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
 Ap     |U8*    |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
 AdpPR  |STRLEN |utf8_length    |NN const U8* s|NN const U8 *e
@@ -973,7 +988,12 @@ Apd        |SV*    |sv_rvweaken    |NN SV *sv
 p      |int    |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
 Ap     |OP*    |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
 Ap     |CV*    |newATTRSUB     |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+#ifdef PERL_MAD
+Apr    |OP *   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto \
+                               |NULLOK OP *attrs|NULLOK OP *block
+#else
 Apr    |void   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+#endif
 p      |OP *   |my_attrs       |NN OP *o|NULLOK OP *attrs
 p      |void   |boot_core_xsutils
 #if defined(USE_ITHREADS)
@@ -1129,7 +1149,7 @@ s |void   |no_bareword_allowed|NN const OP *o
 sR     |OP*    |no_fh_allowed|NN OP *o
 sR     |OP*    |too_few_arguments|NN OP *o|NN const char* name
 sR     |OP*    |too_many_arguments|NN OP *o|NN const char* name
-s      |bool   |looks_like_bool|NN OP* o
+s      |bool   |looks_like_bool|NN const OP* o
 s      |OP*    |newGIVWHENOP   |NULLOK OP* cond|NN OP *block \
                                |I32 enter_opcode|I32 leave_opcode \
                                |PADOFFSET entertarg
@@ -1238,6 +1258,7 @@ s |int    |emulate_eaccess|NN const char* path|Mode_t mode
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 sR     |int    |dooneliner     |NN const char *cmd|NN const char *filename
 #  endif
+s      |SV *   |space_join_names_mortal|NN char *const *array
 #endif
 
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
@@ -1285,7 +1306,6 @@ Es        |I32    |make_trie      |NN struct RExC_state_t* state|NN regnode *startbranch \
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
 ERs    |I32    |regmatch       |NN regnode *prog
 ERs    |I32    |regrepeat      |NN const regnode *p|I32 max
-ERs    |I32    |regrepeat_hard |NN regnode *p|I32 max|NN I32 *lp
 ERs    |I32    |regtry         |NN regexp *prog|NN char *startpos
 ERs    |bool   |reginclass     |NN const regnode *n|NN const U8 *p|NULLOK STRLEN *lenp\
                                |bool do_utf8sv_is_utf8
@@ -1336,13 +1356,18 @@ s       |int    |sv_2iuv_non_preserve   |NN SV *sv|I32 numtype
 #  endif
 sR     |I32    |expect_number  |NN char** pattern
 #
-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 \
-                               |NN const U8 *send
-s      |bool   |utf8_mg_pos_init       |NN SV *sv|NN MAGIC **mgp \
-                               |NN STRLEN **cachep|I32 i|I32 offsetp \
-                               |NN const U8 *s|NN const U8 *start
+s      |STRLEN |sv_pos_u2b_forwards|NN const U8 *const start \
+               |NN const U8 *const send|STRLEN uoffset
+s      |STRLEN |sv_pos_u2b_midway|NN const U8 *const start \
+               |NN const U8 *const send|STRLEN uoffset|STRLEN uend
+s      |STRLEN |sv_pos_u2b_cached|NN SV *sv|NN MAGIC **mgp \
+               |NN const U8 *const start|NN const U8 *const send \
+               |STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+s      |void   |utf8_mg_pos_cache_update|NN SV *sv|NN MAGIC **mgp \
+               |STRLEN byte|STRLEN utf8|STRLEN blen
+s      |STRLEN |sv_pos_b2u_forwards|NN const U8 *s|NN const U8 *const target
+s      |STRLEN |sv_pos_b2u_midway|NN const U8 *s|NN const U8 *const target \
+               |NN const U8 *end|STRLEN endu
 s      |char * |stringify_regexp|NN SV *sv|NN MAGIC *mg|NULLOK STRLEN *lp
 sn     |char * |F0convert      |NV nv|NN char *endbuf|NN STRLEN *len
 #  if defined(PERL_OLD_COPY_ON_WRITE)
@@ -1383,7 +1408,8 @@ s |char*  |scan_word      |NN char *s|NN char *dest|STRLEN destlen \
                                |int allow_package|NN STRLEN *slp
 sR     |char*  |skipspace      |NN char *s
 sR     |char*  |swallow_bom    |NN U8 *s
-s      |void   |checkcomma     |NN char *s|NN const char *name|NN const char *what
+s      |void   |checkcomma     |NN const char *s|NN const char *name \
+                               |NN const char *what
 s      |bool   |feature_is_enabled|NN char* name|STRLEN namelen
 s      |void   |force_ident    |NN const char *s|int kind
 s      |void   |incline        |NN char *s
@@ -1413,7 +1439,7 @@ s |int    |tokereport     |I32 rv
 #endif
 
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-s      |SV*|isa_lookup |NULLOK HV *stash|NN const char *name|NULLOK HV *name_stash|int len|int level
+s      |bool|isa_lookup        |NULLOK HV *stash|NN const char *name|NULLOK HV *name_stash|int len|int level
 #endif
 
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
@@ -1646,6 +1672,54 @@ px       |void   |my_clearenv
 Apo    |void*  |my_cxt_init    |NN int *index|size_t size
 #endif
 
+#ifdef PERL_MAD
+Mnp    |void   |pad_peg        |NN const char* s
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+sf     |void   |xmldump_attr   |I32 level|NN PerlIO *file|NN const char* pat \
+                               |...
+#endif
+Mfp    |void   |xmldump_indent |I32 level|NN PerlIO *file|NN const char* pat \
+                               |...
+Mp     |void   |xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
+                               |NULLOK va_list *args
+Mp     |void   |xmldump_all
+Mp     |void   |xmldump_packsubs       |NN const HV* stash
+Mp     |void   |xmldump_sub    |NN const GV* gv
+Mp     |void   |xmldump_form   |NN const GV* gv
+Mp     |void   |xmldump_eval
+Mp     |char*  |sv_catxmlsv    |NN SV *dsv|NN SV *ssv
+Mp     |char*  |sv_catxmlpvn   |NN SV *dsv|NN char *pv|STRLEN len|int utf8
+Mp     |char*  |sv_xmlpeek     |NN SV* sv
+Mp     |void   |do_pmop_xmldump|I32 level|NN PerlIO *file \
+                               |NULLOK const PMOP *pm
+Mp     |void   |pmop_xmldump   |NULLOK const PMOP* pm
+Mp     |void   |do_op_xmldump  |I32 level|NN PerlIO *file|NULLOK const OP *o
+Mp     |void   |op_xmldump     |NN const OP* arg
+
+Mp     |TOKEN* |newTOKEN       |I32 optype|YYSTYPE lval \
+                               |NULLOK MADPROP* madprop
+Mp     |void   |token_free     |NN TOKEN* arg
+Mp     |void   |token_getmad   |NN TOKEN* arg|NULLOK OP* o|char slot
+Mp     |void   |op_getmad_weak |NULLOK OP* from|NULLOK OP* o|char slot
+Mp     |void   |op_getmad      |NULLOK OP* from|NULLOK OP* o|char slot
+Mp     |void   |prepend_madprops|NULLOK MADPROP* mp|NULLOK OP* o|char slot
+Mp     |void   |append_madprops|NULLOK MADPROP* tm|NULLOK OP* o|char slot
+Mp     |void   |addmad         |NULLOK MADPROP* tm|NULLOK MADPROP** root \
+                               |char slot
+Mp     |MADPROP*|newMADsv      |char key|NN SV* sv
+Mp     |MADPROP*|newMADPROP    |char key|char type|NULLOK void* val|I32 vlen
+Mp     |void   |mad_free       |NULLOK MADPROP* mp
+
+#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+s      |char*  |skipspace0     |NN char *s
+s      |char*  |skipspace1     |NN char *s
+s      |char*  |skipspace2     |NN char *s|NULLOK SV **sv
+s      |void   |start_force    |int where
+s      |void   |curmad         |char slot|NULLOK SV *sv
+#  endif
+Mp     |int    |madlex
+Mp     |int    |madparse
+#endif
 
 END_EXTERN_C
 /*