This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
gv.c: Added gv_init_(sv|pv|pvn), renamed gv_init_sv as gv_init_svtype.
[perl5.git] / embed.fnc
index a84a958..4b1ee0a 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -12,7 +12,7 @@
 :
 :   A  Member of public API:
 :
-:         add entry to global.sym (unless x or m);
+:         add entry to the list of exported symbols (unless x or m);
 :         any doc entry goes in perlapi.pod rather than perlintern.pod
 :         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
 :
@@ -23,7 +23,7 @@
 :   b  Binary backward compatibility; function is a macro
 :      but has also Perl_ implementation (which is exported):
 :
-:         add entry to global.sym;
+:         add entry to the list of exported symbols;
 :         don't define PERL_ARGS_ASSERT_FOO
 :
 :   D  Function is deprecated:
@@ -59,7 +59,7 @@
 :   m  Implemented as a macro:
 :
 :         suppress proto.h entry
-:         suppress global.sym entry
+:         suppress entry in the list of exported symbols
 :         suppress embed.h entry
 :
 :   n  Has no implicit interpreter/thread context argument:
 :
 :   X  Explicitly exported:
 :
-:         add entry to global.sym, unless x or m
+:         add entry to the list of exported symbols, unless x or m
 :
 :   x  Not exported
 :
-:         suppress entry in global.sym
+:         suppress entry in the list of exported symbols
 :
 : (see also L<perlguts/Internal Functions> for those flags.)
 :
@@ -265,7 +265,10 @@ Afnp       |int    |printf_nocontext|NN const char *format|...
 #endif
 : Used in pp.c
 p      |SV *   |core_prototype |NULLOK SV *sv|NN const char *name \
-                               |const STRLEN len|const bool croak
+                               |const int code|NULLOK int * const opnum
+: Used in gv.c
+p      |OP *   |coresub_op     |NN SV *coreargssv|const int code \
+                               |const int opnum
 : Used in sv.c
 p      |void   |cv_ckproto_len |NN const CV* cv|NULLOK const GV* gv\
                                |NULLOK const char* p|const STRLEN len
@@ -403,6 +406,8 @@ p   |char*  |find_script    |NN const char *scriptname|bool dosearch \
                                |NULLOK const char *const *const search_ext|I32 flags
 #if defined(PERL_IN_OP_C)
 s      |OP*    |force_list     |NULLOK OP* arg
+i      |OP*    |op_integerize  |NN OP *o
+i      |OP*    |op_std_init    |NN OP *o
 : FIXME
 s      |OP*    |fold_constants |NN OP *o
 #endif
@@ -447,7 +452,11 @@ Ap |void   |gv_fullname4   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool
 pMox   |GP *   |newGP          |NN GV *const gv
 pX     |void   |cvgv_set       |NN CV* cv|NULLOK GV* gv
 pX     |void   |cvstash_set    |NN CV* cv|NULLOK HV* stash
-Ap     |void   |gv_init        |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
+Ap     |void   |gv_init_sv     |NN GV* gv|NULLOK HV* stash|NN SV* namesv|int multi|U32 flags
+Ap     |void   |gv_init_pv     |NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |int multi|U32 flags
+Ap     |void   |gv_init_pvn    |NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |STRLEN len|int multi|U32 flags
 Ap     |void   |gv_name_set    |NN GV* gv|NN const char *name|U32 len|U32 flags
 XMpd   |void   |gv_try_downgrade|NN GV* gv
 Apd    |HV*    |gv_stashpv     |NN const char* name|I32 flags
@@ -590,6 +599,7 @@ Anpd        |bool   |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
 ApR    |bool   |is_utf8_alnum  |NN const U8 *p
 ApR    |bool   |is_utf8_idfirst|NN const U8 *p
 ApR    |bool   |is_utf8_xidfirst|NN const U8 *p
+EXpR   |bool   |_is_utf8__perl_idstart|NN const U8 *p
 ApR    |bool   |is_utf8_idcont |NN const U8 *p
 ApR    |bool   |is_utf8_xidcont        |NN const U8 *p
 ApR    |bool   |is_utf8_alpha  |NN const U8 *p
@@ -623,7 +633,7 @@ p   |OP*    |jmaybe         |NN OP *o
 pP     |I32    |keyword        |NN const char *name|I32 len|bool all_keywords
 #if defined(PERL_IN_OP_C)
 s      |OP*    |opt_scalarhv   |NN OP* rep_op
-s      |OP*    |is_inplace_av  |NN OP* o|NULLOK OP* oright
+s      |void   |inplace_aassign        |NN OP* o
 #endif
 Ap     |void   |leave_scope    |I32 base
 : Public lexer API
@@ -758,8 +768,6 @@ Ap  |I32    |mg_size        |NN SV* sv
 Ap     |void   |mini_mktime    |NN struct tm *ptm
 AMmd   |OP*    |op_lvalue      |NULLOK OP* o|I32 type
 poX    |OP*    |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
-: To be removed after 5.14 (see [perl #78908]):
-EXp    |OP*    |mod            |NULLOK OP* o|I32 type
 p      |void   |finalize_optree                |NN OP* o
 #if defined(PERL_IN_OP_C)
 s      |void   |finalize_op    |NN OP* o
@@ -807,6 +815,9 @@ p   |void   |my_unexec
 Apa    |OP*    |newANONLIST    |NULLOK OP* o
 Apa    |OP*    |newANONHASH    |NULLOK OP* o
 Ap     |OP*    |newANONSUB     |I32 floor|NULLOK OP* proto|NULLOK OP* block
+#if defined(PERL_IN_OP_C)
+i      |bool   |aassign_common_vars    |NULLOK OP* o
+#endif
 Apda   |OP*    |newASSIGNOP    |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
 Apda   |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
@@ -878,6 +889,8 @@ Apd |CV*    |rv2cv_op_cv    |NN OP *cvop|U32 flags
 Apd    |OP*    |ck_entersub_args_list|NN OP *entersubop
 Apd    |OP*    |ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
 Apd    |OP*    |ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+po     |OP*    |ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
+                                     |NN SV *protosv
 Apd    |void   |cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
 Apd    |void   |cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
 Apa    |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
@@ -1098,7 +1111,6 @@ Ap        |void   |save_padsv_and_mortalize|PADOFFSET off
 Ap     |void   |save_sptr      |NN SV** sptr
 Ap     |SV*    |save_svref     |NN SV** sptr
 Ap     |void   |save_pushptr   |NULLOK void *const ptr|const int type
-: Used by SAVECOPARYBASE() in op.c
 Ap     |void   |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
 : Used by SAVESWITCHSTACK() in pp.c
 Ap     |void   |save_pushptrptr|NULLOK void *const ptr1 \
@@ -1313,6 +1325,7 @@ EXpM      |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
 EXpM   |void   |_invlist_union |NN SV* const a|NN SV* const b|NN SV** output
 EXpM   |void   |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
 EXpM   |void   |_invlist_invert|NN SV* const invlist
+EXpM   |void   |_invlist_invert_prop|NN SV* const invlist
 EXMpR  |HV*    |_swash_inversion_hash  |NN SV* const swash
 EXMpR  |SV*    |_new_invlist   |IV initial_size
 EXMpR  |SV*    |_swash_to_invlist      |NN SV* const swash
@@ -1381,7 +1394,7 @@ ApdR      |char*  |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
 : Used by Data::Alias
 EXp    |void   |vivify_defelem |NN SV* sv
 : Used in pp.c
-p      |void   |vivify_ref     |NN SV* sv|U32 to_what
+pR     |SV*    |vivify_ref     |NN SV* sv|U32 to_what
 : Used in pp_sys.c
 p      |I32    |wait4pid       |Pid_t pid|NN int* statusp|int flags
 : Used in locale.c and perl.c
@@ -1577,7 +1590,7 @@ sR        |I32    |do_trans_complex_utf8  |NN SV * const sv
 #endif
 
 #if defined(PERL_IN_GV_C)
-s      |void   |gv_init_sv     |NN GV *gv|const svtype sv_type
+s      |void   |gv_init_svtype |NN GV *gv|const svtype sv_type
 s      |void   |gv_magicalize_isa      |NN GV *gv
 s      |void   |gv_magicalize_overload |NN GV *gv
 s      |HV*    |gv_get_super_pkg|NN const char* name|I32 namelen
@@ -1640,10 +1653,10 @@ s       |OP *   |dup_attrlist   |NN OP *o
 s      |void   |apply_attrs    |NN HV *stash|NN SV *target|NULLOK OP *attrs|bool for_my
 s      |void   |apply_attrs_my |NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
 s      |void   |bad_type       |I32 n|NN const char *t|NN const char *name|NN const OP *kid
-s      |void   |no_bareword_allowed|NN const OP *o
+s      |void   |no_bareword_allowed|NN 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      |OP*    |too_many_arguments|NN OP *o|NN const char* name
 s      |bool   |looks_like_bool|NN const OP* o
 s      |OP*    |newGIVWHENOP   |NULLOK OP* cond|NN OP *block \
                                |I32 enter_opcode|I32 leave_opcode \
@@ -1748,7 +1761,8 @@ sR        |I32    |run_user_filter|int idx|NN SV *buf_sv|int maxlen
 sR     |PMOP*  |make_matcher   |NN REGEXP* re
 sR     |bool   |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
 s      |void   |destroy_matcher|NN PMOP* matcher
-s      |OP*    |do_smartmatch  |NULLOK HV* seen_this|NULLOK HV* seen_other
+s      |OP*    |do_smartmatch  |NULLOK HV* seen_this \
+                               |NULLOK HV* seen_other|const bool copied
 #endif
 
 #if defined(PERL_IN_PP_HOT_C)
@@ -2149,6 +2163,8 @@ ApdR      |PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
 ApdR   |PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
 ApdD   |PADOFFSET|find_rundefsvoffset  |
 Apd    |SV*    |find_rundefsv  |
+: Used in pp.c
+p      |SV*    |find_rundefsv2 |NN CV *cv|U32 seq
 #if defined(PERL_IN_PAD_C)
 sd     |PADOFFSET|pad_findlex  |NN const char *namepv|STRLEN namelen|U32 flags \
                                |NN const CV* cv|U32 seq|int warn \
@@ -2307,8 +2323,6 @@ np        |void   |my_swabn       |NN void* ptr|int n
 
 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
-: Only used in pp.c
-dpR    |bool   |is_gv_magical_sv|NN SV *const name_sv|U32 flags
 
 ApR    |bool   |stashpv_hvname_match|NN const COP *c|NN const HV *hv