This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
embed.fnc: Mark internal function as "may change"
[perl5.git] / embed.fnc
index c740da2..c8bedc0 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -193,6 +193,8 @@ Apd |void   |av_clear       |NN AV *av
 Apd    |SV*    |av_delete      |NN AV *av|I32 key|I32 flags
 ApdR   |bool   |av_exists      |NN AV *av|I32 key
 Apd    |void   |av_extend      |NN AV *av|I32 key
+p      |void   |av_extend_guts |NULLOK AV *av|I32 key|NN SSize_t *maxp \
+                               |NN SV ***allocp|NN SV ***arrayp
 ApdR   |SV**   |av_fetch       |NN AV *av|I32 key|I32 lval
 Apd    |void   |av_fill        |NN AV *av|I32 fill
 ApdR   |I32    |av_len         |NN AV *av
@@ -281,9 +283,7 @@ ApdR        |SV*    |cv_const_sv    |NULLOK const CV *const cv
 : Used in pad.c
 pR     |SV*    |op_const_sv    |NULLOK const OP* o|NULLOK CV* cv
 Apd    |void   |cv_undef       |NN CV* cv
-#ifndef PL_OP_SLAB_ALLOC
 p      |void   |cv_forget_slab |NN CV *cv
-#endif
 Ap     |void   |cx_dump        |NN PERL_CONTEXT* cx
 Ap     |SV*    |filter_add     |NULLOK filter_t funcp|NULLOK SV* datasv
 Ap     |void   |filter_del     |NN filter_t funcp
@@ -614,7 +614,7 @@ EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
 p      |UV     |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
-ApR    |bool   |_is_utf8_quotemeta|NN const U8 *p
+ApRM   |bool   |_is_utf8_quotemeta|NN const U8 *p
 #endif
 Ap     |UV     |to_uni_lower   |UV c|NN U8 *p|NN STRLEN *lenp
 Amp    |UV     |to_uni_fold    |UV c|NN U8 *p|NN STRLEN *lenp
@@ -665,7 +665,7 @@ EXpR        |bool   |is_utf8_X_extend       |NN const U8 *p
 EXpR   |bool   |is_utf8_X_prepend      |NN const U8 *p
 EXpR   |bool   |is_utf8_X_non_hangul   |NN const U8 *p
 EXpR   |bool   |is_utf8_X_L            |NN const U8 *p
-EXpR   |bool   |is_utf8_X_LV           |NN const U8 *p
+:not currently used EXpR       |bool   |is_utf8_X_LV           |NN const U8 *p
 EXpR   |bool   |is_utf8_X_LVT          |NN const U8 *p
 EXpR   |bool   |is_utf8_X_LV_LVT_V     |NN const U8 *p
 EXpR   |bool   |is_utf8_X_T            |NN const U8 *p
@@ -777,7 +777,6 @@ p   |int    |magic_settaint |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setuvar  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setvec   |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setutf8  |NN SV* sv|NN MAGIC* mg
-p      |int    |magic_setvstring|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_set_all_env|NN SV* sv|NN MAGIC* mg
 p      |U32    |magic_sizepack |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_wipepack |NN SV* sv|NN MAGIC* mg
@@ -969,7 +968,8 @@ p   |PerlIO*|nextargv       |NN GV* gv
 AnpP   |char*  |ninstr         |NN const char* big|NN const char* bigend \
                                |NN const char* little|NN const char* lend
 Ap     |void   |op_free        |NULLOK OP* arg
-#if !defined(PL_OP_SLAB_ALLOC) && defined(PERL_CORE)
+Mp     |OP*    |op_unscope     |NULLOK OP* o
+#ifdef PERL_CORE
 p      |void   |opslab_free    |NN OPSLAB *slab
 p      |void   |opslab_free_nopad|NN OPSLAB *slab
 p      |void   |opslab_force_free|NN OPSLAB *slab
@@ -1047,13 +1047,13 @@ Amb     |OP*    |ref            |NULLOK OP* o|I32 type
 s      |OP*    |refkids        |NULLOK OP* o|I32 type
 #endif
 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 *node|bool doinit \
                                |NULLOK SV **listsvp|NULLOK SV **altsvp
 #ifdef PERL_IN_REGCOMP_C
 EMs    |void   |add_alternate  |NN AV** alternate_ptr|NN U8* string|STRLEN len
 EMsR   |SV*    |_new_invlist_C_array|NN UV* list
+: Not used currently: EXMs     |bool   |_invlistEQ     |NN SV* const a|NN SV* const b|bool complement_b
 #endif
 Ap     |I32    |pregexec       |NN REGEXP * const prog|NN char* stringarg \
                                |NN char* strend|NN char* strbeg|I32 minend \
@@ -1321,7 +1321,6 @@ Apd       |STRLEN |sv_len         |NULLOK SV *const sv
 Apd    |STRLEN |sv_len_utf8    |NULLOK SV *const sv
 Apd    |void   |sv_magic       |NN SV *const sv|NULLOK SV *const obj|const int how \
                                |NULLOK const char *const name|const I32 namlen
-pd     |bool   |sv_gmagical_2iv_please|NN SV *sv
 Apd    |MAGIC *|sv_magicext    |NN SV *const sv|NULLOK SV *const obj|const int how \
                                |NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
                                |const I32 namlen
@@ -1375,6 +1374,9 @@ Apd       |void   |sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
 Apd    |void   |sv_vcatpvfn    |NN SV *const sv|NN const char *const pat|const STRLEN patlen \
                                |NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
                                |NULLOK bool *const maybe_tainted
+Apd    |void   |sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
+                               |NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+                               |NULLOK bool *const maybe_tainted|const U32 flags
 Apd    |void   |sv_vsetpvfn    |NN SV *const sv|NN const char *const pat|const STRLEN patlen \
                                |NULLOK va_list *const args|NULLOK SV **const svargs \
                                |const I32 svmax|NULLOK bool *const maybe_tainted
@@ -1387,18 +1389,19 @@ EsM     |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const
 EiMR   |UV*    |_invlist_array_init    |NN SV* const invlist|const bool will_have_0
 EiMR   |UV*    |invlist_array  |NN SV* const invlist
 EsM    |void   |invlist_extend    |NN SV* const invlist|const UV len
-EiMR   |UV*    |get_invlist_len_addr   |NN SV* invlist
 EiMR   |UV*    |get_invlist_zero_addr  |NN SV* invlist
-EiMR   |UV     |invlist_len    |NN SV* const invlist
 EiMR   |UV     |invlist_max    |NN SV* const invlist
-EiM    |void   |invlist_set_len        |NN SV* const invlist|const UV len
+EiM    |void   |invlist_set_len|NN SV* const invlist|const UV len
+EiMR   |IV*    |get_invlist_previous_index_addr|NN SV* invlist
+EiMR   |IV     |invlist_previous_index|NN SV* const invlist
+EiM    |void   |invlist_set_previous_index|NN SV* const invlist|const IV index
 EiM    |void   |invlist_trim   |NN SV* const invlist
 EiMR   |SV*    |invlist_clone  |NN SV* const invlist
 EiMR   |UV*    |get_invlist_iter_addr  |NN SV* invlist
 EiMR   |UV*    |get_invlist_version_id_addr    |NN SV* invlist
 EiM    |void   |invlist_iterinit|NN SV* invlist
 EsMR   |bool   |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
-EsMR   |IV     |invlist_search |NN SV* const invlist|const UV cp
+EiMR   |UV     |invlist_highest|NN SV* const invlist
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
 EXmM   |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
@@ -1419,6 +1422,12 @@ EXp      |SV*    |_core_swash_init|NN const char* pkg|NN const char* name|NN SV* listsv|
                 |I32 none|bool return_if_undef|NULLOK SV* invlist \
                |bool passed_in_invlist_has_user_defined_property
 EXMpR  |SV*    |_invlist_contents|NN SV* const invlist
+EiMR   |UV*    |_get_invlist_len_addr  |NN SV* invlist
+EiMR   |UV     |_invlist_len   |NN SV* const invlist
+EMiR   |bool   |_invlist_contains_cp|NN SV* const invlist|const UV cp
+EXpMR  |IV     |_invlist_search        |NN SV* const invlist|const UV cp
+EXMpR  |bool   |_is_swash_user_defined|NN SV* const swash
+EXMpR  |SV*    |_get_swash_invlist|NN SV* const swash
 #endif
 Ap     |void   |taint_env
 Ap     |void   |taint_proper   |NULLOK const char* f|NN const char *const s
@@ -1693,6 +1702,7 @@ Adpbm     |void   |sv_nounlocking |NULLOK SV *sv
 Adpb   |void   |sv_nounlocking |NULLOK SV *sv
 #endif
 Adp    |int    |nothreadhook
+p      |void   |init_constants
 
 #if defined(PERL_IN_DOOP_C)
 sR     |I32    |do_trans_simple        |NN SV * const sv
@@ -1784,13 +1794,8 @@ s        |void   |process_special_blocks |NN const char *const fullname\
 Xpa    |void*  |Slab_Alloc     |size_t sz
 Xp     |void   |Slab_Free      |NN void *op
 #if defined(PERL_DEBUG_READONLY_OPS)
-#    ifdef PL_OP_SLAB_ALLOC
-: Used in perl.c
-poxM   |void   |pending_Slabs_to_ro
-#    else
-#     if defined(PERL_CORE)
+#    if defined(PERL_CORE)
 px     |void   |Slab_to_ro     |NN OPSLAB *slab
-#      endif
 #    endif
 : Used in OpREFCNT_inc() in sv.c
 poxM   |OP *   |op_refcnt_inc  |NULLOK OP *o
@@ -1930,13 +1935,15 @@ Es      |regnode*|regbranch     |NN struct RExC_state_t *pRExC_state \
                                |NN I32 *flagp|I32 first|U32 depth
 Es     |STRLEN |reguni         |NN const struct RExC_state_t *pRExC_state \
                                |UV uv|NN char *s
-Es     |regnode*|regclass      |NN struct RExC_state_t *pRExC_state|U32 depth
+Es     |regnode*|regclass      |NN struct RExC_state_t *pRExC_state \
+                               |NN I32 *flagp|U32 depth
 Es     |regnode*|reg_node      |NN struct RExC_state_t *pRExC_state|U8 op
 Es     |UV     |reg_recode     |const char value|NN SV **encp
 Es     |regnode*|regpiece      |NN struct RExC_state_t *pRExC_state \
                                |NN I32 *flagp|U32 depth
-Es     |regnode*|reg_namedseq  |NN struct RExC_state_t *pRExC_state \
-                               |NULLOK UV *valuep|NULLOK I32 *flagp|U32 depth
+Es     |bool   |grok_bslash_N  |NN struct RExC_state_t *pRExC_state \
+                               |NULLOK regnode** nodep|NULLOK UV *valuep \
+                               |NN I32 *flagp|U32 depth|bool in_char_class
 Es     |void   |reginsert      |NN struct RExC_state_t *pRExC_state \
                                |U8 op|NN regnode *opnd|U32 depth
 Es     |void   |regtail        |NN struct RExC_state_t *pRExC_state \
@@ -1949,6 +1956,10 @@ Es       |U32    |join_exact     |NN struct RExC_state_t *pRExC_state \
                                |U32 flags|NULLOK regnode *val|U32 depth
 EsRn   |char * |regwhite       |NN struct RExC_state_t *pRExC_state \
                                |NN char *p
+Ei     |void   |alloc_maybe_populate_EXACT|NN struct RExC_state_t *pRExC_state \
+                               |NN regnode *node|NN I32 *flagp|STRLEN len \
+                               |UV code_point
+Ei     |U8   |compute_EXACTish|NN struct RExC_state_t *pRExC_state
 Es     |char * |nextchar       |NN struct RExC_state_t *pRExC_state
 Es     |bool   |reg_skipcomment|NN struct RExC_state_t *pRExC_state
 Es     |void   |scan_commit    |NN const struct RExC_state_t *pRExC_state \
@@ -2220,7 +2231,9 @@ Apd       |void   |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
 Apmd   |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
 Ap     |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
 Apd    |char*  |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
-Apd    |void   |sv_copypv      |NN SV *const dsv|NN SV *const ssv
+pmb    |void   |sv_copypv      |NN SV *const dsv|NN SV *const ssv
+Apmd   |void   |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv
+Apd    |void   |sv_copypv_flags        |NN SV *const dsv|NN SV *const ssv|const I32 flags
 Ap     |char*  |my_atof2       |NN const char *s|NN NV* value
 Apn    |int    |my_socketpair  |int family|int type|int protocol|int fd[2]
 Ap     |int    |my_dirfd       |NULLOK DIR* dir
@@ -2329,11 +2342,14 @@ pd      |void   |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
 pdX    |void   |pad_push       |NN PADLIST *padlist|int depth
 ApdR   |HV*    |pad_compname_type|const PADOFFSET po
 #if defined(USE_ITHREADS)
-pdR    |AV*    |padlist_dup    |NULLOK AV *srcpad|NN CLONE_PARAMS *param
+pdR    |PADLIST *|padlist_dup  |NULLOK PADLIST *srcpad \
+                               |NN CLONE_PARAMS *param
 #endif
+p      |PAD ** |padlist_store  |NN PADLIST *padlist|I32 key \
+                               |NULLOK PAD *val
 
 ApdR   |CV*    |find_runcv     |NULLOK U32 *db_seqp
-pR     |CV*    |find_runcv_where|U8 cond|NULLOK void *arg \
+pR     |CV*    |find_runcv_where|U8 cond|IV arg \
                                 |NULLOK U32 *db_seqp
 : Only used in perl.c
 p      |void   |free_tied_hv_pool