void av_unshift _((AV* ar, I32 num));
OP* bind_match _((I32 type, OP* left, OP* pat));
OP* block_end _((I32 floor, OP* seq));
+I32 block_gimme _((void));
int block_start _((int full));
void boot_core_UNIVERSAL _((void));
-void calllist _((AV* list));
+void call_list _((I32 oldscope, AV* list));
I32 cando _((I32 bit, I32 effective, struct stat* statbufp));
#ifndef CASTNEGFLOAT
U32 cast_ulong _((double f));
char* cpytill _((char* to, char* from, char* fromend, int delim, I32* retlen));
void croak _((const char* pat,...))
__attribute__((format(printf,1,2),noreturn));
+void cv_ckproto _((CV* cv, GV* gv, char* p));
CV* cv_clone _((CV* proto));
-void cv_undef _((CV* cv));
SV* cv_const_sv _((CV* cv));
+void cv_undef _((CV* cv));
#ifdef DEBUGGING
void cx_dump _((CONTEXT* cs));
#endif
GV* gv_AVadd _((GV* gv));
GV* gv_HVadd _((GV* gv));
GV* gv_IOadd _((GV* gv));
-GV* gv_autoload _((HV* stash, char* name, STRLEN len));
+GV* gv_autoload4 _((HV* stash, char* name, STRLEN len, I32 method));
void gv_check _((HV* stash));
void gv_efullname _((SV* sv, GV* gv));
void gv_efullname3 _((SV* sv, GV* gv, char* prefix));
GV* gv_fetchfile _((char* name));
GV* gv_fetchmeth _((HV* stash, char* name, STRLEN len, I32 level));
GV* gv_fetchmethod _((HV* stash, char* name));
+GV* gv_fetchmethod_autoload _((HV* stash, char* name, I32 autoload));
GV* gv_fetchpv _((char* name, I32 add, I32 sv_type));
void gv_fullname _((SV* sv, GV* gv));
void gv_fullname3 _((SV* sv, GV* gv, char* prefix));
HV* gv_stashpv _((char* name, I32 create));
HV* gv_stashpvn _((char* name, U32 namelen, I32 create));
HV* gv_stashsv _((SV* sv, I32 create));
-void he_delayfree _((HV* hv, HE* hent));
-void he_free _((HV* hv, HE* hent));
void hoistmust _((PMOP* pm));
void hv_clear _((HV* tb));
+void hv_delayfree_ent _((HV* hv, HE* entry));
SV* hv_delete _((HV* tb, char* key, U32 klen, I32 flags));
SV* hv_delete_ent _((HV* tb, SV* key, I32 flags, U32 hash));
bool hv_exists _((HV* tb, char* key, U32 klen));
bool hv_exists_ent _((HV* tb, SV* key, U32 hash));
SV** hv_fetch _((HV* tb, char* key, U32 klen, I32 lval));
HE* hv_fetch_ent _((HV* tb, SV* key, I32 lval, U32 hash));
+void hv_free_ent _((HV* hv, HE* entry));
I32 hv_iterinit _((HV* tb));
char* hv_iterkey _((HE* entry, I32* retlen));
SV* hv_iterkeysv _((HE* entry));
int magic_clearpack _((SV* sv, MAGIC* mg));
int magic_clearsig _((SV* sv, MAGIC* mg));
int magic_existspack _((SV* sv, MAGIC* mg));
-int magic_freeitervar _((SV* sv, MAGIC* mg));
+int magic_freedefelem _((SV* sv, MAGIC* mg));
int magic_get _((SV* sv, MAGIC* mg));
int magic_getarylen _((SV* sv, MAGIC* mg));
-int magic_getpack _((SV* sv, MAGIC* mg));
+int magic_getdefelem _((SV* sv, MAGIC* mg));
int magic_getglob _((SV* sv, MAGIC* mg));
-int magic_getitervar _((SV* sv, MAGIC* mg));
+int magic_getpack _((SV* sv, MAGIC* mg));
int magic_getpos _((SV* sv, MAGIC* mg));
int magic_getsig _((SV* sv, MAGIC* mg));
int magic_gettaint _((SV* sv, MAGIC* mg));
#ifdef USE_LOCALE_COLLATE
int magic_setcollxfrm _((SV* sv, MAGIC* mg));
#endif
+int magic_setdefelem _((SV* sv, MAGIC* mg));
int magic_setenv _((SV* sv, MAGIC* mg));
int magic_setfm _((SV* sv, MAGIC* mg));
int magic_setisa _((SV* sv, MAGIC* mg));
-int magic_setitervar _((SV* sv, MAGIC* mg));
int magic_setglob _((SV* sv, MAGIC* mg));
int magic_setmglob _((SV* sv, MAGIC* mg));
int magic_setnkeys _((SV* sv, MAGIC* mg));
char* my_bzero _((char* loc, I32 len));
#endif
void my_exit _((U32 status)) __attribute__((noreturn));
+void my_failure_exit _((void)) __attribute__((noreturn));
I32 my_lstat _((void));
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
I32 my_memcmp _((char* s1, char* s2, I32 len));
OP* pop_return _((void));
void pop_scope _((void));
OP* prepend_elem _((I32 optype, OP* head, OP* tail));
-void provide_ref _((OP* op, SV* sv));
void push_return _((OP* op));
void push_scope _((void));
regexp* pregcomp _((char* exp, char* xend, PMOP* pm));
HEK* share_hek _((char* sv, I32 len, U32 hash));
Signal_t sighandler _((int sig));
SV** stack_grow _((SV** sp, SV**p, int n));
-int start_subparse _((void));
+int start_subparse _((I32 is_format, U32 flags));
void sub_crush_depth _((CV* cv));
bool sv_2bool _((SV* sv));
CV* sv_2cv _((SV* sv, HV** st, GV** gvp, I32 lref));
void unsharepvn _((char* sv, I32 len, U32 hash));
void unshare_hek _((HEK* hek));
void utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
-void vivify_itervar _((SV* sv));
+void vivify_defelem _((SV* sv));
+void vivify_ref _((SV* sv, U32 to_what));
I32 wait4pid _((int pid, int* statusp, int flags));
void warn _((const char* pat,...)) __attribute__((format(printf,1,2)));
void watch _((char **addr));