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
: Used in pad.c
pR |SV* |op_const_sv |NULLOK const OP* o|NULLOK CV* cv
Apd |void |cv_undef |NN CV* cv
+p |void |cv_forget_slab |NN CV *cv
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
ApPR |bool |is_uni_idfirst |UV c
ApPR |bool |is_uni_alpha |UV c
ApPR |bool |is_uni_ascii |UV c
+ApPR |bool |is_uni_blank |UV c
ApPR |bool |is_uni_space |UV c
ApPR |bool |is_uni_cntrl |UV c
ApPR |bool |is_uni_graph |UV c
#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
-AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|const bool flags
+AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|const U8 flags
ApPR |bool |is_uni_alnum_lc|UV c
ApPR |bool |is_uni_idfirst_lc|UV c
ApPR |bool |is_uni_alpha_lc|UV c
AnpdD |STRLEN |is_utf8_char |NN const U8 *s
Anpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
Anpd |bool |is_utf8_string |NN const U8 *s|STRLEN len
-Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
+Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
Anpd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
ApR |bool |is_utf8_alnum |NN const U8 *p
ApR |bool |is_utf8_idfirst|NN const U8 *p
ApR |bool |is_utf8_xidcont |NN const U8 *p
ApR |bool |is_utf8_alpha |NN const U8 *p
ApR |bool |is_utf8_ascii |NN const U8 *p
+ApR |bool |is_utf8_blank |NN const U8 *p
ApR |bool |is_utf8_space |NN const U8 *p
ApR |bool |is_utf8_perl_space |NN const U8 *p
ApR |bool |is_utf8_perl_word |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
#ifdef PERL_IN_DQUOTE_STATIC_C
EMsR |char |grok_bslash_c |const char source|const bool utf8|const bool output_warning
EMsR |bool |grok_bslash_o |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
+EMiR |bool |grok_bslash_x |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep
pr |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
p |int |magic_set |NN SV* sv|NN MAGIC* mg
p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg
+p |int |magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg
p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg
p |int |magic_setdefelem|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
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
+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
+#endif
: Used in perly.y
#ifdef PERL_MAD
p |OP* |package |NN OP* o
: Used in toke.c and perly.y
p |PADOFFSET|allocmy |NN const char *const name|const STRLEN len\
|const U32 flags
+#ifdef USE_ITHREADS
+AMp |PADOFFSET|alloccopstash|NN HV *hv
+#endif
: Used in perly.y
pR |OP* |oopsAV |NN OP* o
: Used in perly.y
p |void |rpeep |NULLOK OP* o
: Defined in doio.c, used only in pp_hot.c
dopM |PerlIO*|start_glob |NN SV *tmpglob|NN IO *io
-#if defined(USE_REENTRANT_API)
+
Ap |void |reentrant_size
Ap |void |reentrant_init
Ap |void |reentrant_free
Anp |void* |reentrant_retry|NN const char *f|...
-#endif
+
: "Very" special - can't use the O flag for this one:
: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
Ap |void |call_atexit |ATEXIT_t fn|NULLOK void *ptr
s |void |pidgone |Pid_t pid|int status
#endif
: Used in perly.y
-p |OP* |pmruntime |NN OP *o|NN OP *expr|bool isreg
+p |OP* |pmruntime |NN OP *o|NN OP *expr|bool isreg|I32 floor
#if defined(PERL_IN_OP_C)
s |OP* |pmtrans |NN OP* o|NN OP* expr|NN OP* repl
#endif
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
-EMi |U8 |set_regclass_bit|NN struct RExC_state_t* pRExC_state|NN regnode* node|const U8 value|NN SV** invlist_ptr|NN AV** alternate_ptr
-EMs |U8 |set_regclass_bit_fold|NN struct RExC_state_t *pRExC_state|NN regnode* node|const U8 value|NN SV** invlist_ptr|NN AV** alternate_ptr
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 \
#if defined(USE_ITHREADS)
Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
#endif
+EXp |regexp_engine const *|current_re_engine
Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
-Ap |REGEXP*|re_compile |NN SV * const pattern|U32 flags
+p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
+ |int pat_count|NULLOK OP *expr \
+ |NN const regexp_engine* eng \
+ |NULLOK REGEXP *VOL old_re \
+ |NULLOK bool *is_bare_re \
+ |U32 rx_flags|U32 pm_flags
+Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags
Ap |char* |re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \
|NN char* strend|const U32 flags \
|NULLOK re_scream_pos_data *data
AMpd |OP* |op_scope |NULLOK OP* o
Ap |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
|I32 end_shift|NN I32 *old_posp|I32 last
-Apd |void |setdefout |NULLOK GV* gv
+Apd |void |setdefout |NN GV* gv
Ap |HEK* |share_hek |NN const char* str|I32 len|U32 hash
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
: Used in perl.c
Amd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp
Apd |char* |sv_collxfrm_flags |NN SV *const sv|NN STRLEN *const nxp|I32 const flags
#endif
-: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
-: anything it needs has to be exported. So this has to be X. I'd rather it
-: wasn't.
-Xpo |OP* |sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
- |NN const char *code|NN PAD **padp
-ApD |OP* |sv_compile_2op |NN SV *sv|NN OP **startop \
- |NN const char *code|NN PAD **padp
Apd |int |getcwd_sv |NN SV* sv
Apd |void |sv_dec |NULLOK SV *const sv
Apd |void |sv_dec_nomg |NULLOK SV *const sv
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
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
|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
#else
Apr |void |newMYSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
#endif
+p |CV* |newSTUB |NN GV *gv|bool fake
: Used in perly.y
p |OP * |my_attrs |NN OP *o|NULLOK OP *attrs
#if defined(USE_ITHREADS)
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
s |void |process_special_blocks |NN const char *const fullname\
|NN GV *const gv|NN CV *const cv
#endif
-#if defined(PL_OP_SLAB_ALLOC)
-Apa |void* |Slab_Alloc |size_t sz
-Ap |void |Slab_Free |NN void *op
-# if defined(PERL_DEBUG_READONLY_OPS)
-: Used in perl.c
-poxM |void |pending_Slabs_to_ro
+Xpa |void* |Slab_Alloc |size_t sz
+Xp |void |Slab_Free |NN void *op
+#if defined(PERL_DEBUG_READONLY_OPS)
+# if defined(PERL_CORE)
+px |void |Slab_to_ro |NN OPSLAB *slab
+# endif
: Used in OpREFCNT_inc() in sv.c
poxM |OP * |op_refcnt_inc |NULLOK OP *o
: FIXME - can be static.
# if defined(PERL_IN_OP_C)
s |void |Slab_to_rw |NN void *op
# endif
-# endif
#endif
#if defined(PERL_IN_PERL_C)
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
-s |bool |doeval |int gimme|NULLOK OP** startop \
+s |bool |doeval |int gimme \
|NULLOK CV* outside|U32 seq|NULLOK HV* hh
sR |PerlIO *|check_type_and_open|NN SV *name
#ifndef PERL_DISABLE_PMC
|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 \
|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 \
ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startpos
ERs |bool |reginclass |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
|bool const do_utf8sv_is_utf8
-Es |CHECKPOINT|regcppush |I32 parenfloor
-Es |char* |regcppop |NN const regexp *rex
+Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor
+Es |void |regcppop |NN regexp *rex
ERsn |U8* |reghop3 |NN U8 *s|I32 off|NN const U8 *lim
ERsM |SV* |core_regclass_swash|NULLOK const regexp *prog \
|NN const struct regnode *node|bool doinit \
|STRLEN destlen|I32 ck_uni
sR |char* |scan_inputsymbol|NN char *start
sR |char* |scan_pat |NN char *start|I32 type
-sR |char* |scan_str |NN char *start|int keep_quoted|int keep_delims
+sR |char* |scan_str |NN char *start|int keep_quoted \
+ |int keep_delims|int re_reparse
sR |char* |scan_subst |NN char *start
sR |char* |scan_trans |NN char *start
s |char* |scan_word |NN char *s|NN char *dest|STRLEN destlen \
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
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|IV arg \
+ |NULLOK U32 *db_seqp
: Only used in perl.c
p |void |free_tied_hv_pool
#if defined(DEBUGGING)
Ap |GV* |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
Ap |GV* |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
-ApR |bool |stashpv_hvname_match|NN const COP *c|NN const HV *hv
-
#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
: Used in sv.c
p |void |dump_sv_child |NN SV *sv
|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
xpo |int |keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
-: Used in perly.y
-xp |void |munge_qwlist_to_paren_list|NN OP* qwlist
#if defined(USE_ITHREADS)
# if defined(PERL_IN_SV_C)