This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Give more information in the panic in ss_dup. (Although I'm not sure
[perl5.git] / embed.fnc
index 46ccb40..fe1246d 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|...
@@ -283,6 +285,7 @@ Apd |HV*    |gv_stashpv     |NN const char* name|I32 create
 Apd    |HV*    |gv_stashpvn    |NN const char* name|U32 namelen|I32 create
 Apd    |HV*    |gv_stashsv     |NULLOK SV* sv|I32 create
 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
@@ -300,6 +303,18 @@ ApMdR      |HE*    |hv_iternext_flags|NN HV* tb|I32 flags
 ApdR   |SV*    |hv_iterval     |NN HV* tb|NN HE* entry
 Ap     |void   |hv_ksplit      |NN HV* hv|IV newmax
 Apdbm  |void   |hv_magic       |NN HV* hv|NULLOK GV* gv|int how
+#ifdef USE_ITHREADS
+dpoM|struct refcounted_he *|refcounted_he_copy \
+                               |NULLOK const struct refcounted_he *he
+dpoM|struct refcounted_he *|refcounted_he_dup \
+                               |NULLOK const struct refcounted_he *const he \
+                               |NN CLONE_PARAMS* param
+#endif
+dpoM   |HV *   |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c
+dpoM   |void   |refcounted_he_free|NULLOK struct refcounted_he *he
+dpoM   |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
@@ -399,6 +414,7 @@ ApdR        |bool   |grok_numeric_radix|NN const char **sp|NN const char *send
 Apd    |UV     |grok_oct       |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
 p      |int    |magic_clearenv |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
+dp     |int    |magic_clearhint|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_clearpack|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_clearsig |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_existspack|NN SV* sv|NN MAGIC* mg
@@ -429,6 +445,7 @@ p   |int    |magic_setdbline|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setdefelem|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setenv   |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setfm    |NN SV* sv|NN MAGIC* mg
+dp     |int    |magic_sethint  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setisa   |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setglob  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setmglob |NN SV* sv|NN MAGIC* mg
@@ -454,8 +471,8 @@ p   |char*  |mem_collxfrm   |NN const char* s|STRLEN len|NN STRLEN* xlen
 Afp    |SV*    |mess           |NN const char* pat|...
 Ap     |SV*    |vmess          |NN const char* pat|NULLOK va_list* args
 p      |void   |qerror         |NN SV* err
-Apd    |void   |sortsv         |NN SV** array|size_t num_elts|SVCOMPARE_t cmp
-Apd    |void   |sortsv_flags   |NN SV** array|size_t num_elts|SVCOMPARE_t cmp|U32 flags
+Apd    |void   |sortsv         |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp
+Apd    |void   |sortsv_flags   |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
 Apd    |int    |mg_clear       |NN SV* sv
 Apd    |int    |mg_copy        |NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen
 pd     |void   |mg_localize    |NN SV* sv|NN SV* nsv
@@ -1073,6 +1090,7 @@ 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
 #endif
 
 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
@@ -1256,6 +1274,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)
@@ -1274,7 +1293,7 @@ Es        |void   |regtail        |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
 EsRn   |char*  |regwhite       |NN char *p|NN const char *e
 Es     |char*  |nextchar       |NN struct RExC_state_t *state
 #  ifdef DEBUGGING
-Es     |regnode*|dumpuntil     |NN regnode *start|NN regnode *node \
+Es     |regnode*|dumpuntil     |NN regexp *r|NN regnode *start|NN regnode *node \
                                |NULLOK regnode *last|NN SV* sv|I32 l
 Es     |void   |put_byte       |NN SV* sv|int c
 #  endif
@@ -1301,17 +1320,14 @@ Es      |I32    |make_trie      |NN struct RExC_state_t* state|NN regnode *startbranch \
 #endif
 
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-ERs    |I32    |regmatch       |NN regnode *prog
+ERs    |I32    |regmatch       |NN regexp *rex|NN regnode *prog
 ERs    |I32    |regrepeat      |NN const regnode *p|I32 max
 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
 Es     |CHECKPOINT|regcppush   |I32 parenfloor
-Es     |char*|regcppop
-Es     |void   |cache_re       |NN regexp *prog
-ERs    |U8*    |reghop         |NN U8 *pos|I32 off
+Es     |char*  |regcppop       |NN regexp *rex
 ERsn   |U8*    |reghop3        |NN U8 *pos|I32 off|NN U8 *lim
-ERs    |U8*    |reghopmaybe    |NN U8 *pos|I32 off
 ERsn   |U8*    |reghopmaybe3   |NN U8 *pos|I32 off|NN U8 *lim
 ERs    |char*  |find_byclass   |NN regexp * prog|NN regnode *c|NN char *s|NN const char *strend|I32 norun
 Es     |void   |to_utf8_substr |NN regexp * prog
@@ -1353,13 +1369,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 *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)
@@ -1402,7 +1423,7 @@ sR        |char*  |skipspace      |NN char *s
 sR     |char*  |swallow_bom    |NN U8 *s
 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      |bool   |feature_is_enabled|NN const char* name|STRLEN namelen
 s      |void   |force_ident    |NN const char *s|int kind
 s      |void   |incline        |NN char *s
 s      |int    |intuit_method  |NN char *s|NULLOK GV *gv|NULLOK CV *cv