This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate change #9108 from maintperl to mainline.
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 7e030a9..44ff2fd 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -68,6 +68,7 @@
 #endif
 #define amagic_call            Perl_amagic_call
 #define Gv_AMupdate            Perl_Gv_AMupdate
+#define gv_handler             Perl_gv_handler
 #define append_elem            Perl_append_elem
 #define append_list            Perl_append_list
 #define apply                  Perl_apply
 #define do_kv                  Perl_do_kv
 #define do_open                        Perl_do_open
 #define do_open9               Perl_do_open9
+#define do_openn               Perl_do_openn
 #define do_pipe                        Perl_do_pipe
 #define do_print               Perl_do_print
 #define do_readline            Perl_do_readline
 #define io_close               Perl_io_close
 #define invert                 Perl_invert
 #define is_gv_magical          Perl_is_gv_magical
+#define is_lvalue_sub          Perl_is_lvalue_sub
 #define is_uni_alnum           Perl_is_uni_alnum
 #define is_uni_alnumc          Perl_is_uni_alnumc
 #define is_uni_idfirst         Perl_is_uni_idfirst
 #define magic_clearsig         Perl_magic_clearsig
 #define magic_existspack       Perl_magic_existspack
 #define magic_freeregexp       Perl_magic_freeregexp
+#define magic_freeovrld                Perl_magic_freeovrld
 #define magic_get              Perl_magic_get
 #define magic_getarylen                Perl_magic_getarylen
 #define magic_getdefelem       Perl_magic_getdefelem
 #define call_method            Perl_call_method
 #define call_pv                        Perl_call_pv
 #define call_sv                        Perl_call_sv
+#define despatch_signals       Perl_despatch_signals
 #define eval_pv                        Perl_eval_pv
 #define eval_sv                        Perl_eval_sv
 #define get_sv                 Perl_get_sv
 #define ref                    Perl_ref
 #define refkids                        Perl_refkids
 #define regdump                        Perl_regdump
+#define regclass_swash         Perl_regclass_swash
 #define pregexec               Perl_pregexec
 #define pregfree               Perl_pregfree
 #define pregcomp               Perl_pregcomp
 #define save_pptr              Perl_save_pptr
 #define save_vptr              Perl_save_vptr
 #define save_re_context                Perl_save_re_context
+#define save_padsv             Perl_save_padsv
 #define save_sptr              Perl_save_sptr
 #define save_svref             Perl_save_svref
 #define save_threadsv          Perl_save_threadsv
 #define sv_setuv               Perl_sv_setuv
 #define sv_setnv               Perl_sv_setnv
 #define sv_setref_iv           Perl_sv_setref_iv
+#define sv_setref_uv           Perl_sv_setref_uv
 #define sv_setref_nv           Perl_sv_setref_nv
 #define sv_setref_pv           Perl_sv_setref_pv
 #define sv_setref_pvn          Perl_sv_setref_pvn
 #define sv_tainted             Perl_sv_tainted
 #define sv_unmagic             Perl_sv_unmagic
 #define sv_unref               Perl_sv_unref
+#define sv_unref_flags         Perl_sv_unref_flags
 #define sv_untaint             Perl_sv_untaint
 #define sv_upgrade             Perl_sv_upgrade
 #define sv_usepvn              Perl_sv_usepvn
 #define utilize                        Perl_utilize
 #define utf16_to_utf8          Perl_utf16_to_utf8
 #define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#define utf8_length            Perl_utf8_length
 #define utf8_distance          Perl_utf8_distance
 #define utf8_hop               Perl_utf8_hop
 #define utf8_to_bytes          Perl_utf8_to_bytes
+#define bytes_from_utf8                Perl_bytes_from_utf8
 #define bytes_to_utf8          Perl_bytes_to_utf8
-#define utf8_to_uv             Perl_utf8_to_uv
-#define uv_to_utf8             Perl_uv_to_utf8
+#define utf8_to_uvchr          Perl_utf8_to_uvchr
+#define utf8_to_uvuni          Perl_utf8_to_uvuni
+#define utf8n_to_uvchr         Perl_utf8n_to_uvchr
+#define utf8n_to_uvuni         Perl_utf8n_to_uvuni
+#define uvchr_to_utf8          Perl_uvchr_to_utf8
+#define uvuni_to_utf8          Perl_uvuni_to_utf8
 #define vivify_defelem         Perl_vivify_defelem
 #define vivify_ref             Perl_vivify_ref
 #define wait4pid               Perl_wait4pid
 #define watch                  Perl_watch
 #define whichsig               Perl_whichsig
 #define yyerror                        Perl_yyerror
-#if defined(USE_PURE_BISON)
-#define yylex                  Perl_yylex
-#else
-#define yylex                  Perl_yylex
+#ifdef USE_PURE_BISON
+#define yylex_r                        Perl_yylex_r
 #endif
+#define yylex                  Perl_yylex
 #define yyparse                        Perl_yyparse
 #define yywarn                 Perl_yywarn
 #if defined(MYMALLOC)
 #define sv_utf8_encode         Perl_sv_utf8_encode
 #define sv_utf8_decode         Perl_sv_utf8_decode
 #define sv_force_normal                Perl_sv_force_normal
+#define sv_force_normal_flags  Perl_sv_force_normal_flags
 #define tmps_grow              Perl_tmps_grow
 #define sv_rvweaken            Perl_sv_rvweaken
 #define magic_killbackrefs     Perl_magic_killbackrefs
 #define ptr_table_fetch                Perl_ptr_table_fetch
 #define ptr_table_store                Perl_ptr_table_store
 #define ptr_table_split                Perl_ptr_table_split
+#define ptr_table_clear                Perl_ptr_table_clear
+#define ptr_table_free         Perl_ptr_table_free
 #endif
 #if defined(HAVE_INTERP_INTERN)
 #define sys_intern_clear       Perl_sys_intern_clear
 #define scalarboolean          S_scalarboolean
 #define too_few_arguments      S_too_few_arguments
 #define too_many_arguments     S_too_many_arguments
+#define trlist_upgrade         S_trlist_upgrade
 #define op_clear               S_op_clear
 #define null                   S_null
 #define pad_addlex             S_pad_addlex
 #define simplify_sort          S_simplify_sort
 #define is_handle_constructor  S_is_handle_constructor
 #define gv_ename               S_gv_ename
+#  if defined(DEBUG_CLOSURES)
 #define cv_dump                        S_cv_dump
+#  endif
 #define cv_clone2              S_cv_clone2
 #define scalar_mod_type                S_scalar_mod_type
 #define my_kid                 S_my_kid
 #define dopoptoloop            S_dopoptoloop
 #define dopoptosub             S_dopoptosub
 #define dopoptosub_at          S_dopoptosub_at
-#define free_closures          S_free_closures
 #define save_lines             S_save_lines
 #define doeval                 S_doeval
 #define doopen_pmc             S_doopen_pmc
 #define regbranch              S_regbranch
 #define reguni                 S_reguni
 #define regclass               S_regclass
-#define regclassutf8           S_regclassutf8
 #define regcurly               S_regcurly
 #define reg_node               S_reg_node
 #define regpiece               S_regpiece
 #define regrepeat_hard         S_regrepeat_hard
 #define regtry                 S_regtry
 #define reginclass             S_reginclass
-#define reginclassutf8         S_reginclassutf8
 #define regcppush              S_regcppush
 #define regcppop               S_regcppop
 #define regcp_set_to           S_regcp_set_to
 #define cache_re               S_cache_re
 #define reghop                 S_reghop
+#define reghop3                        S_reghop3
 #define reghopmaybe            S_reghopmaybe
+#define reghopmaybe3           S_reghopmaybe3
 #define find_byclass           S_find_byclass
 #endif
 #if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
 #  if defined(DEBUGGING)
 #define del_sv                 S_del_sv
 #  endif
+#  if !defined(NV_PRESERVES_UV)
+#define sv_2inuv_non_preserve  S_sv_2inuv_non_preserve
+#define sv_2iuv_non_preserve   S_sv_2iuv_non_preserve
+#  endif
+#define expect_number          S_expect_number
+#  if defined(USE_ITHREADS)
+#define gv_share               S_gv_share
+#  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define check_uni              S_check_uni
 #define filter_gets            S_filter_gets
 #define find_in_my_stash       S_find_in_my_stash
 #define new_constant           S_new_constant
+#define tokereport             S_tokereport
 #define ao                     S_ao
 #define depcom                 S_depcom
 #define incl_perldb            S_incl_perldb
 #define isa_lookup             S_isa_lookup
 #endif
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define stdize_locale          S_stdize_locale
 #define mess_alloc             S_mess_alloc
 #  if defined(LEAKTEST)
 #define xstat                  S_xstat
 #define ck_open                        Perl_ck_open
 #define ck_repeat              Perl_ck_repeat
 #define ck_require             Perl_ck_require
+#define ck_return              Perl_ck_return
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_sassign             Perl_ck_sassign
 #define ck_spair               Perl_ck_spair
 #define ck_split               Perl_ck_split
 #define ck_subr                        Perl_ck_subr
+#define ck_substr              Perl_ck_substr
 #define ck_svconst             Perl_ck_svconst
 #define ck_trunc               Perl_ck_trunc
 #define pp_aassign             Perl_pp_aassign
 #endif
 #define amagic_call(a,b,c,d)   Perl_amagic_call(aTHX_ a,b,c,d)
 #define Gv_AMupdate(a)         Perl_Gv_AMupdate(aTHX_ a)
+#define gv_handler(a,b)                Perl_gv_handler(aTHX_ a,b)
 #define append_elem(a,b,c)     Perl_append_elem(aTHX_ a,b,c)
 #define append_list(a,b,c)     Perl_append_list(aTHX_ a,b,c)
 #define apply(a,b,c)           Perl_apply(aTHX_ a,b,c)
 #define do_kv()                        Perl_do_kv(aTHX)
 #define do_open(a,b,c,d,e,f,g) Perl_do_open(aTHX_ a,b,c,d,e,f,g)
 #define do_open9(a,b,c,d,e,f,g,h,i)    Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
+#define do_openn(a,b,c,d,e,f,g,h,i)    Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i)
 #define do_pipe(a,b,c)         Perl_do_pipe(aTHX_ a,b,c)
 #define do_print(a,b)          Perl_do_print(aTHX_ a,b)
 #define do_readline()          Perl_do_readline(aTHX)
 #define io_close(a,b)          Perl_io_close(aTHX_ a,b)
 #define invert(a)              Perl_invert(aTHX_ a)
 #define is_gv_magical(a,b,c)   Perl_is_gv_magical(aTHX_ a,b,c)
+#define is_lvalue_sub()                Perl_is_lvalue_sub(aTHX)
 #define is_uni_alnum(a)                Perl_is_uni_alnum(aTHX_ a)
 #define is_uni_alnumc(a)       Perl_is_uni_alnumc(aTHX_ a)
 #define is_uni_idfirst(a)      Perl_is_uni_idfirst(aTHX_ a)
 #define magic_clearsig(a,b)    Perl_magic_clearsig(aTHX_ a,b)
 #define magic_existspack(a,b)  Perl_magic_existspack(aTHX_ a,b)
 #define magic_freeregexp(a,b)  Perl_magic_freeregexp(aTHX_ a,b)
+#define magic_freeovrld(a,b)   Perl_magic_freeovrld(aTHX_ a,b)
 #define magic_get(a,b)         Perl_magic_get(aTHX_ a,b)
 #define magic_getarylen(a,b)   Perl_magic_getarylen(aTHX_ a,b)
 #define magic_getdefelem(a,b)  Perl_magic_getdefelem(aTHX_ a,b)
 #define call_method(a,b)       Perl_call_method(aTHX_ a,b)
 #define call_pv(a,b)           Perl_call_pv(aTHX_ a,b)
 #define call_sv(a,b)           Perl_call_sv(aTHX_ a,b)
+#define despatch_signals()     Perl_despatch_signals(aTHX)
 #define eval_pv(a,b)           Perl_eval_pv(aTHX_ a,b)
 #define eval_sv(a,b)           Perl_eval_sv(aTHX_ a,b)
 #define get_sv(a,b)            Perl_get_sv(aTHX_ a,b)
 #define ref(a,b)               Perl_ref(aTHX_ a,b)
 #define refkids(a,b)           Perl_refkids(aTHX_ a,b)
 #define regdump(a)             Perl_regdump(aTHX_ a)
+#define regclass_swash(a,b,c)  Perl_regclass_swash(aTHX_ a,b,c)
 #define pregexec(a,b,c,d,e,f,g)        Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
 #define pregfree(a)            Perl_pregfree(aTHX_ a)
 #define pregcomp(a,b,c)                Perl_pregcomp(aTHX_ a,b,c)
 #define save_pptr(a)           Perl_save_pptr(aTHX_ a)
 #define save_vptr(a)           Perl_save_vptr(aTHX_ a)
 #define save_re_context()      Perl_save_re_context(aTHX)
+#define save_padsv(a)          Perl_save_padsv(aTHX_ a)
 #define save_sptr(a)           Perl_save_sptr(aTHX_ a)
 #define save_svref(a)          Perl_save_svref(aTHX_ a)
 #define save_threadsv(a)       Perl_save_threadsv(aTHX_ a)
 #define scalarvoid(a)          Perl_scalarvoid(aTHX_ a)
 #define scan_bin(a,b,c)                Perl_scan_bin(aTHX_ a,b,c)
 #define scan_hex(a,b,c)                Perl_scan_hex(aTHX_ a,b,c)
-#define scan_num(a)            Perl_scan_num(aTHX_ a)
+#define scan_num(a,b)          Perl_scan_num(aTHX_ a,b)
 #define scan_oct(a,b,c)                Perl_scan_oct(aTHX_ a,b,c)
 #define scope(a)               Perl_scope(aTHX_ a)
 #define screaminstr(a,b,c,d,e,f)       Perl_screaminstr(aTHX_ a,b,c,d,e,f)
 #define sv_setuv(a,b)          Perl_sv_setuv(aTHX_ a,b)
 #define sv_setnv(a,b)          Perl_sv_setnv(aTHX_ a,b)
 #define sv_setref_iv(a,b,c)    Perl_sv_setref_iv(aTHX_ a,b,c)
+#define sv_setref_uv(a,b,c)    Perl_sv_setref_uv(aTHX_ a,b,c)
 #define sv_setref_nv(a,b,c)    Perl_sv_setref_nv(aTHX_ a,b,c)
 #define sv_setref_pv(a,b,c)    Perl_sv_setref_pv(aTHX_ a,b,c)
 #define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
 #define sv_tainted(a)          Perl_sv_tainted(aTHX_ a)
 #define sv_unmagic(a,b)                Perl_sv_unmagic(aTHX_ a,b)
 #define sv_unref(a)            Perl_sv_unref(aTHX_ a)
+#define sv_unref_flags(a,b)    Perl_sv_unref_flags(aTHX_ a,b)
 #define sv_untaint(a)          Perl_sv_untaint(aTHX_ a)
 #define sv_upgrade(a,b)                Perl_sv_upgrade(aTHX_ a,b)
 #define sv_usepvn(a,b,c)       Perl_sv_usepvn(aTHX_ a,b,c)
 #define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
 #define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d)
 #define utf16_to_utf8_reversed(a,b,c,d)        Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
+#define utf8_length(a,b)       Perl_utf8_length(aTHX_ a,b)
 #define utf8_distance(a,b)     Perl_utf8_distance(aTHX_ a,b)
 #define utf8_hop(a,b)          Perl_utf8_hop(aTHX_ a,b)
 #define utf8_to_bytes(a,b)     Perl_utf8_to_bytes(aTHX_ a,b)
+#define bytes_from_utf8(a,b,c) Perl_bytes_from_utf8(aTHX_ a,b,c)
 #define bytes_to_utf8(a,b)     Perl_bytes_to_utf8(aTHX_ a,b)
-#define utf8_to_uv(a,b,c)      Perl_utf8_to_uv(aTHX_ a,b,c)
-#define uv_to_utf8(a,b)                Perl_uv_to_utf8(aTHX_ a,b)
+#define utf8_to_uvchr(a,b)     Perl_utf8_to_uvchr(aTHX_ a,b)
+#define utf8_to_uvuni(a,b)     Perl_utf8_to_uvuni(aTHX_ a,b)
+#define utf8n_to_uvchr(a,b,c,d)        Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
+#define utf8n_to_uvuni(a,b,c,d)        Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
+#define uvchr_to_utf8(a,b)     Perl_uvchr_to_utf8(aTHX_ a,b)
+#define uvuni_to_utf8(a,b)     Perl_uvuni_to_utf8(aTHX_ a,b)
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
 #define vivify_ref(a,b)                Perl_vivify_ref(aTHX_ a,b)
 #define wait4pid(a,b,c)                Perl_wait4pid(aTHX_ a,b,c)
 #define watch(a)               Perl_watch(aTHX_ a)
 #define whichsig(a)            Perl_whichsig(aTHX_ a)
 #define yyerror(a)             Perl_yyerror(aTHX_ a)
-#if defined(USE_PURE_BISON)
-#define yylex(a,b)             Perl_yylex(aTHX_ a,b)
-#else
-#define yylex()                        Perl_yylex(aTHX)
+#ifdef USE_PURE_BISON
+#define yylex_r(a,b)           Perl_yylex_r(aTHX_ a,b)
 #endif
+#define yylex()                        Perl_yylex(aTHX)
 #define yyparse()              Perl_yyparse(aTHX)
 #define yywarn(a)              Perl_yywarn(aTHX_ a)
 #if defined(MYMALLOC)
 #define sv_utf8_encode(a)      Perl_sv_utf8_encode(aTHX_ a)
 #define sv_utf8_decode(a)      Perl_sv_utf8_decode(aTHX_ a)
 #define sv_force_normal(a)     Perl_sv_force_normal(aTHX_ a)
+#define sv_force_normal_flags(a,b)     Perl_sv_force_normal_flags(aTHX_ a,b)
 #define tmps_grow(a)           Perl_tmps_grow(aTHX_ a)
 #define sv_rvweaken(a)         Perl_sv_rvweaken(aTHX_ a)
 #define magic_killbackrefs(a,b)        Perl_magic_killbackrefs(aTHX_ a,b)
 #define ptr_table_fetch(a,b)   Perl_ptr_table_fetch(aTHX_ a,b)
 #define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
 #define ptr_table_split(a)     Perl_ptr_table_split(aTHX_ a)
+#define ptr_table_clear(a)     Perl_ptr_table_clear(aTHX_ a)
+#define ptr_table_free(a)      Perl_ptr_table_free(aTHX_ a)
 #endif
 #if defined(HAVE_INTERP_INTERN)
 #define sys_intern_clear()     Perl_sys_intern_clear(aTHX)
 #define scalarboolean(a)       S_scalarboolean(aTHX_ a)
 #define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
 #define too_many_arguments(a,b)        S_too_many_arguments(aTHX_ a,b)
+#define trlist_upgrade(a,b)    S_trlist_upgrade(aTHX_ a,b)
 #define op_clear(a)            S_op_clear(aTHX_ a)
 #define null(a)                        S_null(aTHX_ a)
 #define pad_addlex(a)          S_pad_addlex(aTHX_ a)
 #define simplify_sort(a)       S_simplify_sort(aTHX_ a)
 #define is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
 #define gv_ename(a)            S_gv_ename(aTHX_ a)
+#  if defined(DEBUG_CLOSURES)
 #define cv_dump(a)             S_cv_dump(aTHX_ a)
+#  endif
 #define cv_clone2(a,b)         S_cv_clone2(aTHX_ a,b)
 #define scalar_mod_type(a,b)   S_scalar_mod_type(aTHX_ a,b)
 #define my_kid(a,b)            S_my_kid(aTHX_ a,b)
 #define dopoptoloop(a)         S_dopoptoloop(aTHX_ a)
 #define dopoptosub(a)          S_dopoptosub(aTHX_ a)
 #define dopoptosub_at(a,b)     S_dopoptosub_at(aTHX_ a,b)
-#define free_closures()                S_free_closures(aTHX)
 #define save_lines(a,b)                S_save_lines(aTHX_ a,b)
 #define doeval(a,b)            S_doeval(aTHX_ a,b)
 #define doopen_pmc(a,b)                S_doopen_pmc(aTHX_ a,b)
 #  endif
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#define reg(a,b)               S_reg(aTHX_ a,b)
-#define reganode(a,b)          S_reganode(aTHX_ a,b)
-#define regatom(a)             S_regatom(aTHX_ a)
-#define regbranch(a,b)         S_regbranch(aTHX_ a,b)
-#define reguni(a,b,c)          S_reguni(aTHX_ a,b,c)
-#define regclass()             S_regclass(aTHX)
-#define regclassutf8()         S_regclassutf8(aTHX)
+#define reg(a,b,c)             S_reg(aTHX_ a,b,c)
+#define reganode(a,b,c)                S_reganode(aTHX_ a,b,c)
+#define regatom(a,b)           S_regatom(aTHX_ a,b)
+#define regbranch(a,b,c)       S_regbranch(aTHX_ a,b,c)
+#define reguni(a,b,c,d)                S_reguni(aTHX_ a,b,c,d)
+#define regclass(a)            S_regclass(aTHX_ a)
 #define regcurly(a)            S_regcurly(aTHX_ a)
-#define reg_node(a)            S_reg_node(aTHX_ a)
-#define regpiece(a)            S_regpiece(aTHX_ a)
-#define reginsert(a,b)         S_reginsert(aTHX_ a,b)
-#define regoptail(a,b)         S_regoptail(aTHX_ a,b)
-#define regtail(a,b)           S_regtail(aTHX_ a,b)
+#define reg_node(a,b)          S_reg_node(aTHX_ a,b)
+#define regpiece(a,b)          S_regpiece(aTHX_ a,b)
+#define reginsert(a,b,c)       S_reginsert(aTHX_ a,b,c)
+#define regoptail(a,b,c)       S_regoptail(aTHX_ a,b,c)
+#define regtail(a,b,c)         S_regtail(aTHX_ a,b,c)
 #define regwhite(a,b)          S_regwhite(aTHX_ a,b)
-#define nextchar()             S_nextchar(aTHX)
+#define nextchar(a)            S_nextchar(aTHX_ a)
 #define dumpuntil(a,b,c,d,e)   S_dumpuntil(aTHX_ a,b,c,d,e)
 #define put_byte(a,b)          S_put_byte(aTHX_ a,b)
-#define scan_commit(a)         S_scan_commit(aTHX_ a)
-#define cl_anything(a)         S_cl_anything(aTHX_ a)
+#define scan_commit(a,b)       S_scan_commit(aTHX_ a,b)
+#define cl_anything(a,b)       S_cl_anything(aTHX_ a,b)
 #define cl_is_anything(a)      S_cl_is_anything(aTHX_ a)
-#define cl_init(a)             S_cl_init(aTHX_ a)
-#define cl_init_zero(a)                S_cl_init_zero(aTHX_ a)
+#define cl_init(a,b)           S_cl_init(aTHX_ a,b)
+#define cl_init_zero(a,b)      S_cl_init_zero(aTHX_ a,b)
 #define cl_and(a,b)            S_cl_and(aTHX_ a,b)
-#define cl_or(a,b)             S_cl_or(aTHX_ a,b)
-#define study_chunk(a,b,c,d,e) S_study_chunk(aTHX_ a,b,c,d,e)
-#define add_data(a,b)          S_add_data(aTHX_ a,b)
-#define regpposixcc(a)         S_regpposixcc(aTHX_ a)
-#define checkposixcc()         S_checkposixcc(aTHX)
+#define cl_or(a,b,c)           S_cl_or(aTHX_ a,b,c)
+#define study_chunk(a,b,c,d,e,f)       S_study_chunk(aTHX_ a,b,c,d,e,f)
+#define add_data(a,b,c)                S_add_data(aTHX_ a,b,c)
+#define regpposixcc(a,b)       S_regpposixcc(aTHX_ a,b)
+#define checkposixcc(a)                S_checkposixcc(aTHX_ a)
 #endif
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
 #define regmatch(a)            S_regmatch(aTHX_ a)
 #define regrepeat(a,b)         S_regrepeat(aTHX_ a,b)
 #define regrepeat_hard(a,b,c)  S_regrepeat_hard(aTHX_ a,b,c)
 #define regtry(a,b)            S_regtry(aTHX_ a,b)
-#define reginclass(a,b)                S_reginclass(aTHX_ a,b)
-#define reginclassutf8(a,b)    S_reginclassutf8(aTHX_ a,b)
+#define reginclass(a,b,c)      S_reginclass(aTHX_ a,b,c)
 #define regcppush(a)           S_regcppush(aTHX_ a)
 #define regcppop()             S_regcppop(aTHX)
 #define regcp_set_to(a)                S_regcp_set_to(aTHX_ a)
 #define cache_re(a)            S_cache_re(aTHX_ a)
 #define reghop(a,b)            S_reghop(aTHX_ a,b)
+#define reghop3(a,b,c)         S_reghop3(aTHX_ a,b,c)
 #define reghopmaybe(a,b)       S_reghopmaybe(aTHX_ a,b)
+#define reghopmaybe3(a,b,c)    S_reghopmaybe3(aTHX_ a,b,c)
 #define find_byclass(a,b,c,d,e,f)      S_find_byclass(aTHX_ a,b,c,d,e,f)
 #endif
 #if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
 #  if defined(DEBUGGING)
 #define del_sv(a)              S_del_sv(aTHX_ a)
 #  endif
+#  if !defined(NV_PRESERVES_UV)
+#define sv_2inuv_non_preserve(a,b)     S_sv_2inuv_non_preserve(aTHX_ a,b)
+#define sv_2iuv_non_preserve(a,b)      S_sv_2iuv_non_preserve(aTHX_ a,b)
+#  endif
+#define expect_number(a)       S_expect_number(aTHX_ a)
+#  if defined(USE_ITHREADS)
+#define gv_share(a)            S_gv_share(aTHX_ a)
+#  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define check_uni()            S_check_uni(aTHX)
 #define filter_gets(a,b,c)     S_filter_gets(aTHX_ a,b,c)
 #define find_in_my_stash(a,b)  S_find_in_my_stash(aTHX_ a,b)
 #define new_constant(a,b,c,d,e,f)      S_new_constant(aTHX_ a,b,c,d,e,f)
+#define tokereport(a,b,c)      S_tokereport(aTHX_ a,b,c)
 #define ao(a)                  S_ao(aTHX_ a)
 #define depcom()               S_depcom(aTHX)
 #define incl_perldb()          S_incl_perldb(aTHX)
 #define isa_lookup(a,b,c,d)    S_isa_lookup(aTHX_ a,b,c,d)
 #endif
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define stdize_locale(a)       S_stdize_locale(aTHX_ a)
 #define mess_alloc()           S_mess_alloc(aTHX)
 #  if defined(LEAKTEST)
 #define xstat(a)               S_xstat(aTHX_ a)
 #define ck_open(a)             Perl_ck_open(aTHX_ a)
 #define ck_repeat(a)           Perl_ck_repeat(aTHX_ a)
 #define ck_require(a)          Perl_ck_require(aTHX_ a)
+#define ck_return(a)           Perl_ck_return(aTHX_ a)
 #define ck_rfun(a)             Perl_ck_rfun(aTHX_ a)
 #define ck_rvconst(a)          Perl_ck_rvconst(aTHX_ a)
 #define ck_sassign(a)          Perl_ck_sassign(aTHX_ a)
 #define ck_spair(a)            Perl_ck_spair(aTHX_ a)
 #define ck_split(a)            Perl_ck_split(aTHX_ a)
 #define ck_subr(a)             Perl_ck_subr(aTHX_ a)
+#define ck_substr(a)           Perl_ck_substr(aTHX_ a)
 #define ck_svconst(a)          Perl_ck_svconst(aTHX_ a)
 #define ck_trunc(a)            Perl_ck_trunc(aTHX_ a)
 #define pp_aassign()           Perl_pp_aassign(aTHX)
 #define amagic_call            Perl_amagic_call
 #define Perl_Gv_AMupdate       CPerlObj::Perl_Gv_AMupdate
 #define Gv_AMupdate            Perl_Gv_AMupdate
+#define Perl_gv_handler                CPerlObj::Perl_gv_handler
+#define gv_handler             Perl_gv_handler
 #define Perl_append_elem       CPerlObj::Perl_append_elem
 #define append_elem            Perl_append_elem
 #define Perl_append_list       CPerlObj::Perl_append_list
 #define do_open                        Perl_do_open
 #define Perl_do_open9          CPerlObj::Perl_do_open9
 #define do_open9               Perl_do_open9
+#define Perl_do_openn          CPerlObj::Perl_do_openn
+#define do_openn               Perl_do_openn
 #define Perl_do_pipe           CPerlObj::Perl_do_pipe
 #define do_pipe                        Perl_do_pipe
 #define Perl_do_print          CPerlObj::Perl_do_print
 #define invert                 Perl_invert
 #define Perl_is_gv_magical     CPerlObj::Perl_is_gv_magical
 #define is_gv_magical          Perl_is_gv_magical
+#define Perl_is_lvalue_sub     CPerlObj::Perl_is_lvalue_sub
+#define is_lvalue_sub          Perl_is_lvalue_sub
 #define Perl_is_uni_alnum      CPerlObj::Perl_is_uni_alnum
 #define is_uni_alnum           Perl_is_uni_alnum
 #define Perl_is_uni_alnumc     CPerlObj::Perl_is_uni_alnumc
 #define magic_existspack       Perl_magic_existspack
 #define Perl_magic_freeregexp  CPerlObj::Perl_magic_freeregexp
 #define magic_freeregexp       Perl_magic_freeregexp
+#define Perl_magic_freeovrld   CPerlObj::Perl_magic_freeovrld
+#define magic_freeovrld                Perl_magic_freeovrld
 #define Perl_magic_get         CPerlObj::Perl_magic_get
 #define magic_get              Perl_magic_get
 #define Perl_magic_getarylen   CPerlObj::Perl_magic_getarylen
 #define pad_swipe              Perl_pad_swipe
 #define Perl_peep              CPerlObj::Perl_peep
 #define peep                   Perl_peep
+#define Perl_start_glob                CPerlObj::Perl_start_glob
+#define start_glob             Perl_start_glob
 #if defined(PERL_OBJECT)
 #define Perl_construct         CPerlObj::Perl_construct
 #define Perl_destruct          CPerlObj::Perl_destruct
 #define call_pv                        Perl_call_pv
 #define Perl_call_sv           CPerlObj::Perl_call_sv
 #define call_sv                        Perl_call_sv
+#define Perl_despatch_signals  CPerlObj::Perl_despatch_signals
+#define despatch_signals       Perl_despatch_signals
 #define Perl_eval_pv           CPerlObj::Perl_eval_pv
 #define eval_pv                        Perl_eval_pv
 #define Perl_eval_sv           CPerlObj::Perl_eval_sv
 #define refkids                        Perl_refkids
 #define Perl_regdump           CPerlObj::Perl_regdump
 #define regdump                        Perl_regdump
+#define Perl_regclass_swash    CPerlObj::Perl_regclass_swash
+#define regclass_swash         Perl_regclass_swash
 #define Perl_pregexec          CPerlObj::Perl_pregexec
 #define pregexec               Perl_pregexec
 #define Perl_pregfree          CPerlObj::Perl_pregfree
 #define save_vptr              Perl_save_vptr
 #define Perl_save_re_context   CPerlObj::Perl_save_re_context
 #define save_re_context                Perl_save_re_context
+#define Perl_save_padsv                CPerlObj::Perl_save_padsv
+#define save_padsv             Perl_save_padsv
 #define Perl_save_sptr         CPerlObj::Perl_save_sptr
 #define save_sptr              Perl_save_sptr
 #define Perl_save_svref                CPerlObj::Perl_save_svref
 #define sv_setnv               Perl_sv_setnv
 #define Perl_sv_setref_iv      CPerlObj::Perl_sv_setref_iv
 #define sv_setref_iv           Perl_sv_setref_iv
+#define Perl_sv_setref_uv      CPerlObj::Perl_sv_setref_uv
+#define sv_setref_uv           Perl_sv_setref_uv
 #define Perl_sv_setref_nv      CPerlObj::Perl_sv_setref_nv
 #define sv_setref_nv           Perl_sv_setref_nv
 #define Perl_sv_setref_pv      CPerlObj::Perl_sv_setref_pv
 #define sv_unmagic             Perl_sv_unmagic
 #define Perl_sv_unref          CPerlObj::Perl_sv_unref
 #define sv_unref               Perl_sv_unref
+#define Perl_sv_unref_flags    CPerlObj::Perl_sv_unref_flags
+#define sv_unref_flags         Perl_sv_unref_flags
 #define Perl_sv_untaint                CPerlObj::Perl_sv_untaint
 #define sv_untaint             Perl_sv_untaint
 #define Perl_sv_upgrade                CPerlObj::Perl_sv_upgrade
 #define utf16_to_utf8          Perl_utf16_to_utf8
 #define Perl_utf16_to_utf8_reversed    CPerlObj::Perl_utf16_to_utf8_reversed
 #define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#define Perl_utf8_length       CPerlObj::Perl_utf8_length
+#define utf8_length            Perl_utf8_length
 #define Perl_utf8_distance     CPerlObj::Perl_utf8_distance
 #define utf8_distance          Perl_utf8_distance
 #define Perl_utf8_hop          CPerlObj::Perl_utf8_hop
 #define utf8_hop               Perl_utf8_hop
 #define Perl_utf8_to_bytes     CPerlObj::Perl_utf8_to_bytes
 #define utf8_to_bytes          Perl_utf8_to_bytes
+#define Perl_bytes_from_utf8   CPerlObj::Perl_bytes_from_utf8
+#define bytes_from_utf8                Perl_bytes_from_utf8
 #define Perl_bytes_to_utf8     CPerlObj::Perl_bytes_to_utf8
 #define bytes_to_utf8          Perl_bytes_to_utf8
-#define Perl_utf8_to_uv                CPerlObj::Perl_utf8_to_uv
-#define utf8_to_uv             Perl_utf8_to_uv
-#define Perl_uv_to_utf8                CPerlObj::Perl_uv_to_utf8
-#define uv_to_utf8             Perl_uv_to_utf8
+#define Perl_utf8_to_uvchr     CPerlObj::Perl_utf8_to_uvchr
+#define utf8_to_uvchr          Perl_utf8_to_uvchr
+#define Perl_utf8_to_uvuni     CPerlObj::Perl_utf8_to_uvuni
+#define utf8_to_uvuni          Perl_utf8_to_uvuni
+#define Perl_utf8n_to_uvchr    CPerlObj::Perl_utf8n_to_uvchr
+#define utf8n_to_uvchr         Perl_utf8n_to_uvchr
+#define Perl_utf8n_to_uvuni    CPerlObj::Perl_utf8n_to_uvuni
+#define utf8n_to_uvuni         Perl_utf8n_to_uvuni
+#define Perl_uvchr_to_utf8     CPerlObj::Perl_uvchr_to_utf8
+#define uvchr_to_utf8          Perl_uvchr_to_utf8
+#define Perl_uvuni_to_utf8     CPerlObj::Perl_uvuni_to_utf8
+#define uvuni_to_utf8          Perl_uvuni_to_utf8
 #define Perl_vivify_defelem    CPerlObj::Perl_vivify_defelem
 #define vivify_defelem         Perl_vivify_defelem
 #define Perl_vivify_ref                CPerlObj::Perl_vivify_ref
 #define whichsig               Perl_whichsig
 #define Perl_yyerror           CPerlObj::Perl_yyerror
 #define yyerror                        Perl_yyerror
-#if defined(USE_PURE_BISON)
-#define Perl_yylex             CPerlObj::Perl_yylex
-#define yylex                  Perl_yylex
-#else
+#ifdef USE_PURE_BISON
+#define Perl_yylex_r           CPerlObj::Perl_yylex_r
+#define yylex_r                        Perl_yylex_r
+#endif
 #define Perl_yylex             CPerlObj::Perl_yylex
 #define yylex                  Perl_yylex
-#endif
 #define Perl_yyparse           CPerlObj::Perl_yyparse
 #define yyparse                        Perl_yyparse
 #define Perl_yywarn            CPerlObj::Perl_yywarn
 #define sv_utf8_decode         Perl_sv_utf8_decode
 #define Perl_sv_force_normal   CPerlObj::Perl_sv_force_normal
 #define sv_force_normal                Perl_sv_force_normal
+#define Perl_sv_force_normal_flags     CPerlObj::Perl_sv_force_normal_flags
+#define sv_force_normal_flags  Perl_sv_force_normal_flags
 #define Perl_tmps_grow         CPerlObj::Perl_tmps_grow
 #define tmps_grow              Perl_tmps_grow
 #define Perl_sv_rvweaken       CPerlObj::Perl_sv_rvweaken
 #define ptr_table_store                Perl_ptr_table_store
 #define Perl_ptr_table_split   CPerlObj::Perl_ptr_table_split
 #define ptr_table_split                Perl_ptr_table_split
+#define Perl_ptr_table_clear   CPerlObj::Perl_ptr_table_clear
+#define ptr_table_clear                Perl_ptr_table_clear
+#define Perl_ptr_table_free    CPerlObj::Perl_ptr_table_free
+#define ptr_table_free         Perl_ptr_table_free
 #endif
 #if defined(HAVE_INTERP_INTERN)
 #define Perl_sys_intern_clear  CPerlObj::Perl_sys_intern_clear
 #define too_few_arguments      S_too_few_arguments
 #define S_too_many_arguments   CPerlObj::S_too_many_arguments
 #define too_many_arguments     S_too_many_arguments
+#define S_trlist_upgrade       CPerlObj::S_trlist_upgrade
+#define trlist_upgrade         S_trlist_upgrade
 #define S_op_clear             CPerlObj::S_op_clear
 #define op_clear               S_op_clear
 #define S_null                 CPerlObj::S_null
 #define is_handle_constructor  S_is_handle_constructor
 #define S_gv_ename             CPerlObj::S_gv_ename
 #define gv_ename               S_gv_ename
+#  if defined(DEBUG_CLOSURES)
 #define S_cv_dump              CPerlObj::S_cv_dump
 #define cv_dump                        S_cv_dump
+#  endif
 #define S_cv_clone2            CPerlObj::S_cv_clone2
 #define cv_clone2              S_cv_clone2
 #define S_scalar_mod_type      CPerlObj::S_scalar_mod_type
 #define dopoptosub             S_dopoptosub
 #define S_dopoptosub_at                CPerlObj::S_dopoptosub_at
 #define dopoptosub_at          S_dopoptosub_at
-#define S_free_closures                CPerlObj::S_free_closures
-#define free_closures          S_free_closures
 #define S_save_lines           CPerlObj::S_save_lines
 #define save_lines             S_save_lines
 #define S_doeval               CPerlObj::S_doeval
 #define reguni                 S_reguni
 #define S_regclass             CPerlObj::S_regclass
 #define regclass               S_regclass
-#define S_regclassutf8         CPerlObj::S_regclassutf8
-#define regclassutf8           S_regclassutf8
 #define S_regcurly             CPerlObj::S_regcurly
 #define regcurly               S_regcurly
 #define S_reg_node             CPerlObj::S_reg_node
 #define regtry                 S_regtry
 #define S_reginclass           CPerlObj::S_reginclass
 #define reginclass             S_reginclass
-#define S_reginclassutf8       CPerlObj::S_reginclassutf8
-#define reginclassutf8         S_reginclassutf8
 #define S_regcppush            CPerlObj::S_regcppush
 #define regcppush              S_regcppush
 #define S_regcppop             CPerlObj::S_regcppop
 #define cache_re               S_cache_re
 #define S_reghop               CPerlObj::S_reghop
 #define reghop                 S_reghop
+#define S_reghop3              CPerlObj::S_reghop3
+#define reghop3                        S_reghop3
 #define S_reghopmaybe          CPerlObj::S_reghopmaybe
 #define reghopmaybe            S_reghopmaybe
+#define S_reghopmaybe3         CPerlObj::S_reghopmaybe3
+#define reghopmaybe3           S_reghopmaybe3
 #define S_find_byclass         CPerlObj::S_find_byclass
 #define find_byclass           S_find_byclass
 #endif
 #define S_del_sv               CPerlObj::S_del_sv
 #define del_sv                 S_del_sv
 #  endif
+#  if !defined(NV_PRESERVES_UV)
+#define S_sv_2inuv_non_preserve        CPerlObj::S_sv_2inuv_non_preserve
+#define sv_2inuv_non_preserve  S_sv_2inuv_non_preserve
+#define S_sv_2iuv_non_preserve CPerlObj::S_sv_2iuv_non_preserve
+#define sv_2iuv_non_preserve   S_sv_2iuv_non_preserve
+#  endif
+#define S_expect_number                CPerlObj::S_expect_number
+#define expect_number          S_expect_number
+#  if defined(USE_ITHREADS)
+#define S_gv_share             CPerlObj::S_gv_share
+#define gv_share               S_gv_share
+#  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define S_check_uni            CPerlObj::S_check_uni
 #define find_in_my_stash       S_find_in_my_stash
 #define S_new_constant         CPerlObj::S_new_constant
 #define new_constant           S_new_constant
+#define S_tokereport           CPerlObj::S_tokereport
+#define tokereport             S_tokereport
 #define S_ao                   CPerlObj::S_ao
 #define ao                     S_ao
 #define S_depcom               CPerlObj::S_depcom
 #define isa_lookup             S_isa_lookup
 #endif
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define S_stdize_locale                CPerlObj::S_stdize_locale
+#define stdize_locale          S_stdize_locale
 #define S_mess_alloc           CPerlObj::S_mess_alloc
 #define mess_alloc             S_mess_alloc
 #  if defined(LEAKTEST)
 #define ck_repeat              Perl_ck_repeat
 #define Perl_ck_require                CPerlObj::Perl_ck_require
 #define ck_require             Perl_ck_require
+#define Perl_ck_return         CPerlObj::Perl_ck_return
+#define ck_return              Perl_ck_return
 #define Perl_ck_rfun           CPerlObj::Perl_ck_rfun
 #define ck_rfun                        Perl_ck_rfun
 #define Perl_ck_rvconst                CPerlObj::Perl_ck_rvconst
 #define ck_split               Perl_ck_split
 #define Perl_ck_subr           CPerlObj::Perl_ck_subr
 #define ck_subr                        Perl_ck_subr
+#define Perl_ck_substr         CPerlObj::Perl_ck_substr
+#define ck_substr              Perl_ck_substr
 #define Perl_ck_svconst                CPerlObj::Perl_ck_svconst
 #define ck_svconst             Perl_ck_svconst
 #define Perl_ck_trunc          CPerlObj::Perl_ck_trunc