This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Allow stashes to have multiple names
[perl5.git] / embed.fnc
index 3ddf03d..1543017 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1,6 +1,6 @@
-: BEGIN {die "You meant to run embed.pl"} # Stop early if fed to perl.
+: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
 :
-: This file is processed by embed.pl and autodoc.pl
+: This file is processed by regen/embed.pl and autodoc.pl
 :
 : Lines are of the form:
 :    flags|return_type|function_name|arg1|arg2|...|argN
@@ -173,10 +173,10 @@ XEop      |bool   |try_amagic_un  |int method|int flags
 Ap     |SV*    |amagic_call    |NN SV* left|NN SV* right|int method|int dir
 Ap     |int    |Gv_AMupdate    |NN HV* stash|bool destructing
 ApR    |CV*    |gv_handler     |NULLOK HV* stash|I32 id
-: Used in perly.y
-p      |OP*    |append_elem    |I32 optype|NULLOK OP* first|NULLOK OP* last
-: Used in perly.y
-p      |OP*    |append_list    |I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* last
+Apd    |OP*    |op_append_elem |I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd    |OP*    |op_append_list |I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd    |OP*    |op_linklist    |NN OP *o
+Apd    |OP*    |op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
 : FIXME - this is only called by pp_chown. They should be merged.
 p      |I32    |apply          |I32 type|NN SV** mark|NN SV** sp
 ApM    |void   |apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
@@ -229,13 +229,6 @@ ApR        |I32    |my_chsize      |int fd|Off_t length
 #endif
 : Used in perly.y
 pR     |OP*    |convert        |I32 optype|I32 flags|NULLOK OP* o
-Apd    |HV*    |cop_hints_2hv  |NN const COP *cop
-Apd    |SV*    |cop_hints_fetchpvn|NN const COP *cop|NN const char *key \
-                               |STRLEN klen|int flags|U32 hash
-Amd    |SV*    |cop_hints_fetchpvs|NN const COP *cop|NN const char *const key
-Amd    |SV*    |cop_hints_fetchpv|NN const COP *cop|NN const char *const key \
-                               |int flags|U32 hash
-Amd    |SV*    |cop_hints_fetchsv|NN const COP *cop|NN SV *keysv|U32 hash
 : Used in op.c and perl.c
 pM     |PERL_CONTEXT*  |create_eval_scope|U32 flags
 Aprd   |void   |croak_sv       |NN SV *baseex
@@ -480,26 +473,30 @@ ApMdR     |HE*    |hv_iternext_flags|NN HV *hv|I32 flags
 ApdR   |SV*    |hv_iterval     |NN HV *hv|NN HE *entry
 Ap     |void   |hv_ksplit      |NN HV *hv|IV newmax
 Apdbm  |void   |hv_magic       |NN HV *hv|NULLOK GV *gv|int how
-: Used in B.xs
-XEdpoM |HV *   |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c
-: Used in APItest.xs
-XEpoM  |SV *   |refcounted_he_fetch|NULLOK const struct refcounted_he *chain \
-                               |NULLOK SV *keysv|NULLOK const char *key \
-                               |STRLEN klen, int flags, U32 hash
-: Used in various files
-dpoM   |void   |refcounted_he_free|NULLOK struct refcounted_he *he
-: Used in various files
-XEdpoM |struct refcounted_he *|refcounted_he_new \
-                               |NULLOK struct refcounted_he *const parent \
-                               |NULLOK SV *const key|NULLOK SV *const value
 #if defined(PERL_IN_HV_C)
-s      |struct refcounted_he * |refcounted_he_new_common \
-                               |NULLOK struct refcounted_he *const parent \
-                               |NN const char *const key_p \
-                               |const STRLEN key_len|const char flags \
-                               |char value_type|NN const void *value \
-                               |const STRLEN value_len
-#endif
+s      |SV *   |refcounted_he_value    |NN const struct refcounted_he *he
+#endif
+Xpd    |HV *   |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
+Xpd    |SV *   |refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
+                               |NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Xpd    |SV *   |refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
+                               |NN const char *key|U32 hash|U32 flags
+Xpd    |SV *   |refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
+                               |NN SV *key|U32 hash|U32 flags
+Xpd    |struct refcounted_he *|refcounted_he_new_pvn \
+                               |NULLOK struct refcounted_he *parent \
+                               |NN const char *keypv|STRLEN keylen \
+                               |U32 hash|NULLOK SV *value|U32 flags
+Xpd    |struct refcounted_he *|refcounted_he_new_pv \
+                               |NULLOK struct refcounted_he *parent \
+                               |NN const char *key \
+                               |U32 hash|NULLOK SV *value|U32 flags
+Xpd    |struct refcounted_he *|refcounted_he_new_sv \
+                               |NULLOK struct refcounted_he *parent \
+                               |NN SV *key \
+                               |U32 hash|NULLOK SV *value|U32 flags
+Xpd    |void   |refcounted_he_free|NULLOK struct refcounted_he *he
+Xpd    |struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
 Abmd   |SV**   |hv_store       |NULLOK HV *hv|NULLOK const char *key \
                                |I32 klen|NULLOK SV *val|U32 hash
 Abmd   |HE*    |hv_store_ent   |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
@@ -611,11 +608,8 @@ s  |OP*    |opt_scalarhv   |NN OP* rep_op
 s      |OP*    |is_inplace_av  |NN OP* o|NULLOK OP* oright
 #endif
 Ap     |void   |leave_scope    |I32 base
-: Used in pp_ctl.c, and by Data::Alias
-EXp    |void   |lex_end
-: Used in various files
-p      |void   |lex_start      |NULLOK SV* line|NULLOK PerlIO *rsfp|bool new_filter
 : Public lexer API
+AMpd   |void   |lex_start      |NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
 AMpd   |bool   |lex_bufutf8
 AMpd   |char*  |lex_grow_linestr|STRLEN len
 AMpd   |void   |lex_stuff_pvn  |NN const char* pv|STRLEN len|U32 flags
@@ -629,6 +623,7 @@ AMpd        |I32    |lex_peek_unichar|U32 flags
 AMpd   |I32    |lex_read_unichar|U32 flags
 AMpd   |void   |lex_read_space |U32 flags
 : Public parser API
+AMpd   |OP*    |parse_block    |U32 flags
 AMpd   |OP*    |parse_fullstmt |U32 flags
 AMpd   |OP*    |parse_stmtseq  |U32 flags
 : Used in various files
@@ -638,7 +633,6 @@ EXp |void   |op_clear       |NN OP* o
 Ap     |void   |op_refcnt_lock
 Ap     |void   |op_refcnt_unlock
 #if defined(PERL_IN_OP_C)
-s      |OP*    |linklist       |NN OP *o
 s      |OP*    |listkids       |NULLOK OP* o
 #endif
 : Used in S_doeval in pp_ctl.c
@@ -728,6 +722,7 @@ Apd |int    |mg_copy        |NN SV *sv|NN SV *nsv|NULLOK const char *key \
 pd     |void   |mg_localize    |NN SV* sv|NN SV* nsv|bool setmagic
 ApdR   |MAGIC* |mg_find        |NULLOK const SV* sv|int type
 Apd    |int    |mg_free        |NN SV* sv
+Apd    |void   |mg_free_type   |NN SV* sv|int how
 Apd    |int    |mg_get         |NN SV* sv
 Apd    |U32    |mg_length      |NN SV* sv
 Apd    |void   |mg_magical     |NN SV* sv
@@ -844,6 +839,12 @@ Apda       |OP*    |newWHENOP      |NULLOK OP* cond|NN OP* block
 Apda   |OP*    |newWHILEOP     |I32 flags|I32 debuggable|NULLOK LOOP* loop \
                                |I32 whileline|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
                                |I32 has_my
+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
+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
 Ap     |char*  |scan_vstring   |NN const char *s|NN const char *const e \
                                |NN SV *sv
@@ -945,8 +946,6 @@ p   |OP*    |pmruntime      |NN OP *o|NN OP *expr|bool isreg
 s      |OP*    |pmtrans        |NN OP* o|NN OP* expr|NN OP* repl
 #endif
 Ap     |void   |pop_scope
-: Used in perly.y
-p      |OP*    |prepend_elem   |I32 optype|NULLOK OP* head|NULLOK OP* tail
 Ap     |void   |push_scope
 Amb    |OP*    |ref            |NULLOK OP* o|I32 type
 #if defined(PERL_IN_OP_C)
@@ -1085,6 +1084,7 @@ s |void   |save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
 #endif
 : Used in perly.y
 p      |OP*    |sawparens      |NULLOK OP* o
+Apd    |OP*    |op_contextualize|NN OP* o|I32 context
 : Used in perly.y
 p      |OP*    |scalar         |NULLOK OP* o
 #if defined(PERL_IN_OP_C)
@@ -1160,7 +1160,7 @@ Apd       |void   |sv_chop        |NN SV *const sv|NULLOK const char *const ptr
 pd     |I32    |sv_clean_all
 : Used only in perl.c
 pd     |void   |sv_clean_objs
-Apd    |void   |sv_clear       |NN SV *const sv
+Apd    |void   |sv_clear       |NN SV *const orig_sv
 Apd    |I32    |sv_cmp         |NULLOK SV *const sv1|NULLOK SV *const sv2
 Apd    |I32    |sv_cmp_flags   |NULLOK SV *const sv1|NULLOK SV *const sv2|const I32 flags
 Apd    |I32    |sv_cmp_locale  |NULLOK SV *const sv1|NULLOK SV *const sv2
@@ -1507,7 +1507,7 @@ sR        |I32    |do_trans_complex_utf8  |NN SV * const sv
 
 #if defined(PERL_IN_GV_C)
 s      |void   |gv_init_sv     |NN GV *gv|const svtype sv_type
-s      |void   |gv_magicalize_isa      |NN GV *gv|NN const char *nambeg|I32 add
+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
 s      |HV*    |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
@@ -1528,7 +1528,6 @@ sM        |SV*    |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
                |NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
                |U32 hash
 sM     |void   |clear_placeholders     |NN HV *hv|U32 items
-sM     |SV *   |refcounted_he_value    |NN const struct refcounted_he *he
 #endif
 
 #if defined(PERL_IN_MG_C)
@@ -2354,8 +2353,10 @@ Apd      |AV*    |mro_get_linear_isa|NN HV* stash
 sd     |AV*    |mro_get_linear_isa_dfs|NN HV* stash|U32 level
 #endif
 : Used in hv.c, mg.c, pp.c, sv.c
-pd     |void   |mro_isa_changed_in|NN HV* stash
+md     |void   |mro_isa_changed_in|NN HV* stash
+pd     |void   |mro_isa_changed_in3|NULLOK HV* stash|NULLOK const char *stashname|STRLEN stashname_len
 Apd    |void   |mro_method_changed_in  |NN HV* stash
+pdx    |void   |mro_package_moved      |NULLOK HV * const stash|NULLOK const HV * const oldstash|NULLOK const GV * const gv|NULLOK const char *newname|I32 newname_len
 : Only used in perl.c
 p      |void   |boot_core_mro
 Apon   |void   |sys_init       |NN int* argc|NN char*** argv
@@ -2379,4 +2380,8 @@ Aanop     |CLONE_PARAMS *|clone_params_new|NN PerlInterpreter *const from \
                |NN PerlInterpreter *const to
 Anop   |void   |clone_params_del|NN CLONE_PARAMS *param
 #endif
+
+: Used in perl.c and toke.c
+op     |void   |populate_isa   |NN const char *name|STRLEN len|...
+
 : ex: set ts=8 sts=4 sw=4 noet: