Add a new function Perl_hv_common_key_len(), which contains the
[p5sagit/p5-mst-13.2.git] / embed.fnc
index fec5643..eae7f25 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -229,7 +229,6 @@ Ap  |bool   |do_open9       |NN GV *gv|NN const char *name|I32 len|int as_raw \
 Ap     |bool   |do_openn       |NN GV *gv|NN const char *name|I32 len|int as_raw \
                                |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
                                |NULLOK SV **svp|I32 num
-p      |void   |do_pipe        |NN SV* sv|NULLOK GV* rgv|NULLOK GV* wgv
 p      |bool   |do_print       |NULLOK SV* sv|NN PerlIO* fp
 pR     |OP*    |do_readline
 p      |I32    |do_chomp       |NN SV* sv
@@ -299,12 +298,20 @@ Apd       |HV*    |gv_stashsv     |NULLOK SV* sv|I32 flags
 Apd    |void   |hv_clear       |NULLOK HV* tb
 poM    |HV *   |hv_copy_hints_hv|NN HV *const ohv
 Ap     |void   |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
-Apd    |SV*    |hv_delete      |NULLOK HV* tb|NN const char* key|I32 klen|I32 flags
-Apd    |SV*    |hv_delete_ent  |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash
-ApdR   |bool   |hv_exists      |NULLOK HV* tb|NN const char* key|I32 klen
-ApdR   |bool   |hv_exists_ent  |NULLOK HV* tb|NN SV* key|U32 hash
-Apd    |SV**   |hv_fetch       |NULLOK HV* tb|NN const char* key|I32 klen|I32 lval
-Apd    |HE*    |hv_fetch_ent   |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash
+Abmd   |SV*    |hv_delete      |NULLOK HV* tb|NN const char* key|I32 klen \
+                               |I32 flags
+Abmd   |SV*    |hv_delete_ent  |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash
+AbmdR  |bool   |hv_exists      |NULLOK HV* tb|NN const char* key|I32 klen
+AbmdR  |bool   |hv_exists_ent  |NULLOK HV* tb|NN SV* key|U32 hash
+Abmd   |SV**   |hv_fetch       |NULLOK HV* tb|NN const char* key|I32 klen \
+                               |I32 lval
+Abmd   |HE*    |hv_fetch_ent   |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash
+Ap     |void*  |hv_common      |NULLOK HV* tb|NULLOK SV* keysv \
+                               |NULLOK const char* key|STRLEN klen|int flags \
+                               |int action|NULLOK SV* val|U32 hash
+Ap     |void*  |hv_common_key_len|NULLOK HV *hv|NN const char *key \
+                               |I32 klen_i32|const int action|NULLOK SV *val \
+                               |const U32 hash
 Ap     |void   |hv_free_ent    |NN HV* hv|NULLOK HE* entryK
 Apd    |I32    |hv_iterinit    |NN HV* tb
 ApdR   |char*  |hv_iterkey     |NN HE* entry|NN I32* retlen
@@ -323,11 +330,11 @@ dpoM      |void   |refcounted_he_free|NULLOK struct refcounted_he *he
 XEdpoM |struct refcounted_he *|refcounted_he_new \
                                |NULLOK struct refcounted_he *const parent \
                                |NULLOK SV *const key|NULLOK SV *const value
-Apd    |SV**   |hv_store       |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \
-                               |U32 hash
-Apd    |HE*    |hv_store_ent   |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash
-ApM    |SV**   |hv_store_flags |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \
-                               |U32 hash|int flags
+Abmd   |SV**   |hv_store       |NULLOK HV* tb|NULLOK const char* key \
+                               |I32 klen|NULLOK SV* val|U32 hash
+Abmd   |HE*    |hv_store_ent   |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash
+AbmdM  |SV**   |hv_store_flags |NULLOK HV* tb|NULLOK const char* key \
+                               |I32 klen|NULLOK SV* val|U32 hash|int flags
 Apd    |void   |hv_undef       |NULLOK HV* tb
 ApP    |I32    |ibcmp          |NN const char* a|NN const char* b|I32 len
 ApP    |I32    |ibcmp_locale   |NN const char* a|NN const char* b|I32 len
@@ -672,6 +679,7 @@ Ap  |void   |push_scope
 Amb    |OP*    |ref            |NULLOK OP* o|I32 type
 p      |OP*    |refkids        |NULLOK OP* o|I32 type
 Ap     |void   |regdump        |NN const regexp* r
+Ap     |void   |regdump        |NN const regexp* r
 Ap     |SV*    |regclass_swash |NULLOK const regexp *prog|NN const struct regnode *n|bool doinit|NULLOK SV **listsvp|NULLOK SV **altsvp
 Ap     |I32    |pregexec       |NN REGEXP * const prog|NN char* stringarg \
                                |NN char* strend|NN char* strbeg|I32 minend \
@@ -694,7 +702,16 @@ Ap |I32    |regexec_flags  |NN REGEXP * const rx|NN char* stringarg \
                                |NN SV* screamer|NULLOK void* data|U32 flags
 ApR    |regnode*|regnext       |NN regnode* p
 
-EXp    |SV*|reg_named_buff_fetch       |NN REGEXP * const rx|NN SV * const key|const U32 flags
+EXp |SV*|reg_named_buff          |NN REGEXP * const rx|NULLOK SV * const key \
+                                 |NULLOK SV * const value|const U32 flags
+EXp |SV*|reg_named_buff_iter     |NN REGEXP * const rx|NULLOK const SV * const lastkey \
+                                 |const U32 flags
+Ap |SV*|reg_named_buff_fetch    |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
+Ap |bool|reg_named_buff_exists  |NN REGEXP * const rx|NN SV * const key|const U32 flags
+Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_nextkey  |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_scalar   |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_all      |NN REGEXP * const rx|const U32 flags
 
 EXp    |void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
 EXp    |void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
@@ -741,7 +758,6 @@ Ap  |void   |save_shared_pvref|NN char** str
 Ap     |void   |save_gp        |NN GV* gv|I32 empty
 Ap     |HV*    |save_hash      |NN GV* gv
 Ap     |void   |save_helem     |NN HV* hv|NN SV *key|NN SV **sptr
-Apr    |void   |save_hints
 Ap     |void   |save_hptr      |NN HV** hptr
 Ap     |void   |save_I16       |NN I16* intp
 Ap     |void   |save_I32       |NN I32* intp
@@ -1092,8 +1108,8 @@ Ap        |void   |sys_intern_clear
 Ap     |void   |sys_intern_init
 #endif
 
-ApR    |char * |custom_op_name |NN const OP* op
-ApR    |char * |custom_op_desc |NN const OP* op
+ApR    |const char *   |custom_op_name |NN const OP* op
+ApR    |const char *   |custom_op_desc |NN const OP* op
 
 Adp    |void   |sv_nosharing   |NULLOK SV *sv
 Adpbm  |void   |sv_nolocking   |NULLOK SV *sv
@@ -1133,13 +1149,10 @@ sanR    |HEK*   |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
 sn     |void   |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
 s      |void   |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
 sR     |HEK*   |share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags
-sR     |SV*    |hv_magic_uvar_xkey|NN HV* hv|NN SV* keysv|int action
 rs     |void   |hv_notallowed  |int flags|NN const char *key|I32 klen|NN const char *msg
 sn     |struct xpvhv_aux*|hv_auxinit|NN HV *hv
 sM     |SV*    |hv_delete_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \
                |STRLEN klen|int k_flags|I32 d_flags|U32 hash
-sM     |HE*    |hv_fetch_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \
-               |STRLEN klen|int flags|int action|NULLOK SV* val|U32 hash
 sM     |void   |clear_placeholders     |NN HV* hb|U32 items
 sM     |SV *   |refcounted_he_value    |NN const struct refcounted_he *he
 #endif
@@ -1310,7 +1323,7 @@ sR        |I32    |dopoptosub     |I32 startingblock
 sR     |I32    |dopoptosub_at  |NN const PERL_CONTEXT* cxstk|I32 startingblock
 sR     |I32    |dopoptowhen    |I32 startingblock
 s      |void   |save_lines     |NULLOK AV *array|NN SV *sv
-sR     |OP*    |doeval         |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
+s      |bool   |doeval         |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
 sR     |PerlIO *|check_type_and_open|NN const char *name|NN const char *mode
 sR     |PerlIO *|doopen_pm     |NN const char *name|NN const char *mode
 sRn    |bool   |path_is_absolute|NN const char *name
@@ -1392,6 +1405,7 @@ Es        |I32    |make_trie      |NN struct RExC_state_t* state|NN regnode *startbranch \
 Es     |void   |make_trie_failtable    |NN struct RExC_state_t* state \
                                 |NN regnode *source|NN regnode *node|U32 depth
 #  ifdef DEBUGGING
+Es     |void   |regdump_extflags|NULLOK const char *lead| const U32 flags
 Es     |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
                                |NN const regnode *node \
                                |NULLOK const regnode *last \
@@ -1437,7 +1451,7 @@ Es        |void   |debug_start_match|NN const regexp *prog|const bool do_utf8|NN const ch
 #endif
 
 #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-s      |CV*    |deb_curcv      |I32 ix
+s      |CV*    |deb_curcv      |const I32 ix
 s      |void   |debprof        |NN const OP *o
 s      |void   |sequence       |NULLOK const OP *o
 s      |void   |sequence_tail  |NULLOK const OP *o
@@ -1656,7 +1670,7 @@ sd        |PADOFFSET|pad_findlex  |NN const char *name|NN const CV* cv|U32 seq|int warn
 sd     |void   |cv_dump        |NN const CV *cv|NN const char *title
 #  endif
 #endif
-pdR    |CV*    |find_runcv     |NULLOK U32 *db_seqp
+ApdR   |CV*    |find_runcv     |NULLOK U32 *db_seqp
 p      |void   |free_tied_hv_pool
 #if defined(DEBUGGING)
 pR     |int    |get_debug_opts |NN const char **s|bool givehelp
@@ -1825,7 +1839,7 @@ 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_catxmlpvn   |NN SV *dsv|NN const 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
@@ -1862,15 +1876,17 @@ AMdnoP  |int    |Perl_signbit   |NV f
 #endif
 
 XEMop  |void   |emulate_cop_io |NN const COP *const c|NN SV *const sv
-XEMop  |regexp *|get_re_arg|NULLOK SV *sv|U32 flags|NULLOK MAGIC **mgp
+XEMop  |REGEXP *|get_re_arg|NULLOK SV *sv
 
 p      |struct mro_meta*       |mro_meta_init  |NN HV* stash
 #if defined(USE_ITHREADS)
 p      |struct mro_meta*       |mro_meta_dup   |NN struct mro_meta* smeta|NN CLONE_PARAMS* param
 #endif
 Apd    |AV*    |mro_get_linear_isa|NN HV* stash
-Apd    |AV*    |mro_get_linear_isa_c3|NN HV* stash|I32 level
-Apd    |AV*    |mro_get_linear_isa_dfs|NN HV* stash|I32 level
+#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+sd     |AV*    |mro_get_linear_isa_c3|NN HV* stash|I32 level
+sd     |AV*    |mro_get_linear_isa_dfs|NN HV* stash|I32 level
+#endif
 pd     |void   |mro_isa_changed_in|NN HV* stash
 Apd    |void   |mro_method_changed_in  |NN HV* stash
 p      |void   |boot_core_mro