This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Calling cv_undef() on the CV created by newCONSTSUB() would leak like
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 154d7e2..430b497 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -3,7 +3,7 @@
  *    embed.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -94,6 +94,7 @@
 #endif
 #ifdef PERL_CORE
 #define convert                        Perl_convert
+#define create_eval_scope      Perl_create_eval_scope
 #endif
 #define croak                  Perl_croak
 #define vcroak                 Perl_vcroak
 #endif
 #ifdef PERL_CORE
 #define cv_ckproto             Perl_cv_ckproto
+#define cv_ckproto_len         Perl_cv_ckproto_len
 #define cv_clone               Perl_cv_clone
 #endif
+#define gv_const_sv            Perl_gv_const_sv
 #define cv_const_sv            Perl_cv_const_sv
 #ifdef PERL_CORE
 #define op_const_sv            Perl_op_const_sv
 #define debstackptrs           Perl_debstackptrs
 #define delimcpy               Perl_delimcpy
 #ifdef PERL_CORE
+#define delete_eval_scope      Perl_delete_eval_scope
 #define deprecate              Perl_deprecate
 #define deprecate_old          Perl_deprecate_old
 #endif
 #endif
 #define dounwind               Perl_dounwind
 #ifdef PERL_CORE
-#define do_aexec               Perl_do_aexec
 #define do_aexec5              Perl_do_aexec5
 #endif
 #define do_binmode             Perl_do_binmode
 #define do_close               Perl_do_close
 #ifdef PERL_CORE
 #define do_eof                 Perl_do_eof
+#endif
+#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
+#else
+#ifdef PERL_CORE
 #define do_exec                        Perl_do_exec
 #endif
-#if defined(WIN32) || defined(SYMBIAN)
+#endif
+#if defined(WIN32) || defined(__SYMBIAN32__)
 #define do_aspawn              Perl_do_aspawn
 #define do_spawn               Perl_do_spawn
 #define do_spawn_nowait                Perl_do_spawn_nowait
 #ifdef PERL_CORE
 #define do_kv                  Perl_do_kv
 #endif
-#define do_open                        Perl_do_open
 #define do_open9               Perl_do_open9
 #define do_openn               Perl_do_openn
 #ifdef PERL_CORE
 #define gv_fetchfile           Perl_gv_fetchfile
 #define gv_fetchmeth           Perl_gv_fetchmeth
 #define gv_fetchmeth_autoload  Perl_gv_fetchmeth_autoload
-#define gv_fetchmethod         Perl_gv_fetchmethod
 #define gv_fetchmethod_autoload        Perl_gv_fetchmethod_autoload
 #define gv_fetchpv             Perl_gv_fetchpv
 #define gv_fullname            Perl_gv_fullname
 #define gv_fullname4           Perl_gv_fullname4
 #define gv_init                        Perl_gv_init
+#define gv_name_set            Perl_gv_name_set
 #define gv_stashpv             Perl_gv_stashpv
 #define gv_stashpvn            Perl_gv_stashpvn
 #define gv_stashsv             Perl_gv_stashsv
 #define hv_iterinit            Perl_hv_iterinit
 #define hv_iterkey             Perl_hv_iterkey
 #define hv_iterkeysv           Perl_hv_iterkeysv
-#define hv_iternext            Perl_hv_iternext
 #define hv_iternextsv          Perl_hv_iternextsv
 #define hv_iternext_flags      Perl_hv_iternext_flags
 #define hv_iterval             Perl_hv_iterval
 #define hv_ksplit              Perl_hv_ksplit
-#define hv_magic               Perl_hv_magic
 #define hv_store               Perl_hv_store
 #define hv_store_ent           Perl_hv_store_ent
 #define hv_store_flags         Perl_hv_store_flags
 #define is_uni_xdigit_lc       Perl_is_uni_xdigit_lc
 #define is_utf8_char           Perl_is_utf8_char
 #define is_utf8_string         Perl_is_utf8_string
-#define is_utf8_string_loc     Perl_is_utf8_string_loc
 #define is_utf8_string_loclen  Perl_is_utf8_string_loclen
 #define is_utf8_alnum          Perl_is_utf8_alnum
 #define is_utf8_alnumc         Perl_is_utf8_alnumc
 #ifdef PERL_CORE
 #define magic_clearenv         Perl_magic_clearenv
 #define magic_clear_all_env    Perl_magic_clear_all_env
+#define magic_clearhint                Perl_magic_clearhint
 #define magic_clearpack                Perl_magic_clearpack
 #define magic_clearsig         Perl_magic_clearsig
 #define magic_existspack       Perl_magic_existspack
 #define magic_get              Perl_magic_get
 #define magic_getarylen                Perl_magic_getarylen
 #define magic_getdefelem       Perl_magic_getdefelem
-#define magic_getglob          Perl_magic_getglob
 #define magic_getnkeys         Perl_magic_getnkeys
 #define magic_getpack          Perl_magic_getpack
 #define magic_getpos           Perl_magic_getpos
 #define magic_setdefelem       Perl_magic_setdefelem
 #define magic_setenv           Perl_magic_setenv
 #define magic_setfm            Perl_magic_setfm
+#define magic_sethint          Perl_magic_sethint
 #define magic_setisa           Perl_magic_setisa
 #define magic_setglob          Perl_magic_setglob
 #define magic_setmglob         Perl_magic_setmglob
 #define qerror                 Perl_qerror
 #endif
 #define sortsv                 Perl_sortsv
+#define sortsv_flags           Perl_sortsv_flags
 #define mg_clear               Perl_mg_clear
 #define mg_copy                        Perl_mg_copy
 #ifdef PERL_CORE
 #define newASSIGNOP            Perl_newASSIGNOP
 #define newCONDOP              Perl_newCONDOP
 #define newCONSTSUB            Perl_newCONSTSUB
+#ifdef PERL_MAD
 #define newFORM                        Perl_newFORM
+#else
+#define newFORM                        Perl_newFORM
+#endif
 #define newFOROP               Perl_newFOROP
+#define newGIVENOP             Perl_newGIVENOP
 #define newLOGOP               Perl_newLOGOP
 #define newLOOPEX              Perl_newLOOPEX
 #define newLOOPOP              Perl_newLOOPOP
 #define newSVrv                        Perl_newSVrv
 #define newSVsv                        Perl_newSVsv
 #define newUNOP                        Perl_newUNOP
+#define newWHENOP              Perl_newWHENOP
 #define newWHILEOP             Perl_newWHILEOP
 #define new_stackinfo          Perl_new_stackinfo
 #define scan_vstring           Perl_scan_vstring
 #define oopsCV                 Perl_oopsCV
 #endif
 #define op_free                        Perl_op_free
+#ifdef PERL_MAD
 #ifdef PERL_CORE
 #define package                        Perl_package
+#endif
+#else
+#ifdef PERL_CORE
+#define package                        Perl_package
+#endif
+#endif
+#ifdef PERL_CORE
 #define pad_alloc              Perl_pad_alloc
 #define allocmy                        Perl_allocmy
 #define pad_findmy             Perl_pad_findmy
 #define call_pv                        Perl_call_pv
 #define call_sv                        Perl_call_sv
 #define despatch_signals       Perl_despatch_signals
+#define doref                  Perl_doref
 #define eval_pv                        Perl_eval_pv
 #define eval_sv                        Perl_eval_sv
 #define get_sv                 Perl_get_sv
 #define require_pv             Perl_require_pv
 #define pack_cat               Perl_pack_cat
 #define packlist               Perl_packlist
+#ifdef PERL_USES_PL_PIDSTATUS
 #ifdef PERL_CORE
 #define pidgone                        Perl_pidgone
 #endif
+#endif
 #define pmflag                 Perl_pmflag
 #ifdef PERL_CORE
 #define pmruntime              Perl_pmruntime
 #endif
 #define push_scope             Perl_push_scope
 #ifdef PERL_CORE
-#define ref                    Perl_ref
 #define refkids                        Perl_refkids
 #endif
 #define regdump                        Perl_regdump
 #define save_padsv             Perl_save_padsv
 #define save_sptr              Perl_save_sptr
 #define save_svref             Perl_save_svref
-#define save_threadsv          Perl_save_threadsv
 #ifdef PERL_CORE
 #define sawparens              Perl_sawparens
 #define scalar                 Perl_scalar
 #define sv_2bool               Perl_sv_2bool
 #define sv_2cv                 Perl_sv_2cv
 #define sv_2io                 Perl_sv_2io
+#ifdef PERL_IN_SV_C
+#ifdef PERL_CORE
+#define glob_2inpuv            S_glob_2inpuv
+#endif
+#endif
 #define sv_2iv_flags           Perl_sv_2iv_flags
 #define sv_2mortal             Perl_sv_2mortal
 #define sv_2nv                 Perl_sv_2nv
 #define sv_setref_pvn          Perl_sv_setref_pvn
 #define sv_setpv               Perl_sv_setpv
 #define sv_setpvn              Perl_sv_setpvn
-#define sv_taint               Perl_sv_taint
 #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 sv_usepvn_flags                Perl_sv_usepvn_flags
 #define sv_vcatpvfn            Perl_sv_vcatpvfn
 #define sv_vsetpvfn            Perl_sv_vsetpvfn
 #define str_to_version         Perl_str_to_version
 #define unsharepvn             Perl_unsharepvn
 #ifdef PERL_CORE
 #define unshare_hek            Perl_unshare_hek
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define utilize                        Perl_utilize
+#endif
+#else
+#ifdef PERL_CORE
 #define utilize                        Perl_utilize
 #endif
+#endif
 #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 bytes_to_utf8          Perl_bytes_to_utf8
 #define utf8_to_uvchr          Perl_utf8_to_uvchr
 #define utf8_to_uvuni          Perl_utf8_to_uvuni
+#ifdef EBCDIC
 #define utf8n_to_uvchr         Perl_utf8n_to_uvchr
+#else
+#endif
 #define utf8n_to_uvuni         Perl_utf8n_to_uvuni
+#ifdef EBCDIC
 #define uvchr_to_utf8          Perl_uvchr_to_utf8
-#define uvuni_to_utf8          Perl_uvuni_to_utf8
+#else
+#endif
 #define uvchr_to_utf8_flags    Perl_uvchr_to_utf8_flags
 #define uvuni_to_utf8_flags    Perl_uvuni_to_utf8_flags
 #define pv_uni_display         Perl_pv_uni_display
 #define vivify_ref             Perl_vivify_ref
 #define wait4pid               Perl_wait4pid
 #define parse_unicode_opts     Perl_parse_unicode_opts
+#endif
 #define seed                   Perl_seed
+#ifdef PERL_CORE
 #define get_hash_seed          Perl_get_hash_seed
 #define report_evil_fh         Perl_report_evil_fh
 #define report_uninit          Perl_report_uninit
 #define sv_catpvf_mg           Perl_sv_catpvf_mg
 #define sv_vcatpvf_mg          Perl_sv_vcatpvf_mg
 #define sv_catpv_mg            Perl_sv_catpv_mg
-#define sv_catpvn_mg           Perl_sv_catpvn_mg
-#define sv_catsv_mg            Perl_sv_catsv_mg
 #define sv_setpvf_mg           Perl_sv_setpvf_mg
 #define sv_vsetpvf_mg          Perl_sv_vsetpvf_mg
 #define sv_setiv_mg            Perl_sv_setiv_mg
 #define sv_setpv_mg            Perl_sv_setpv_mg
 #define sv_setpvn_mg           Perl_sv_setpvn_mg
 #define sv_setsv_mg            Perl_sv_setsv_mg
-#define sv_usepvn_mg           Perl_sv_usepvn_mg
 #define get_vtbl               Perl_get_vtbl
 #define pv_display             Perl_pv_display
 #define dump_indent            Perl_dump_indent
 #define do_sv_dump             Perl_do_sv_dump
 #define magic_dump             Perl_magic_dump
 #define reginitcolors          Perl_reginitcolors
-#define sv_2pv_nolen           Perl_sv_2pv_nolen
-#define sv_2pvutf8_nolen       Perl_sv_2pvutf8_nolen
-#define sv_2pvbyte_nolen       Perl_sv_2pvbyte_nolen
 #define sv_utf8_downgrade      Perl_sv_utf8_downgrade
 #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
 #endif
 #define newANONATTRSUB         Perl_newANONATTRSUB
 #define newATTRSUB             Perl_newATTRSUB
+#ifdef PERL_MAD
+#define newMYSUB               Perl_newMYSUB
+#else
 #define newMYSUB               Perl_newMYSUB
+#endif
 #ifdef PERL_CORE
 #define my_attrs               Perl_my_attrs
 #define boot_core_xsutils      Perl_boot_core_xsutils
 #endif
 #endif
 #define sv_nosharing           Perl_sv_nosharing
-#define sv_nolocking           Perl_sv_nolocking
+#ifdef NO_MATHOMS
+#else
 #define sv_nounlocking         Perl_sv_nounlocking
+#endif
 #define nothreadhook           Perl_nothreadhook
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define hv_auxinit             S_hv_auxinit
 #define hv_delete_common       S_hv_delete_common
 #define hv_fetch_common                S_hv_fetch_common
+#define clear_placeholders     S_clear_placeholders
 #endif
 #endif
 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_sassign             Perl_ck_sassign
+#define ck_say                 Perl_ck_say
 #define ck_select              Perl_ck_select
 #define ck_shift               Perl_ck_shift
 #define ck_sort                        Perl_ck_sort
 #define no_fh_allowed          S_no_fh_allowed
 #define too_few_arguments      S_too_few_arguments
 #define too_many_arguments     S_too_many_arguments
+#define looks_like_bool                S_looks_like_bool
+#define newGIVWHENOP           S_newGIVWHENOP
+#define ref_array_or_hash      S_ref_array_or_hash
 #endif
 #endif
 #if defined(PL_OP_SLAB_ALLOC)
 #define run_body               S_run_body
 #define call_body              S_call_body
 #define call_list_body         S_call_list_body
+#define incpush_if_exists      S_incpush_if_exists
 #endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
 #define get_num                        S_get_num
 #define need_utf8              S_need_utf8
 #define first_symbol           S_first_symbol
+#define sv_exp_grow            S_sv_exp_grow
 #endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define doparseform            S_doparseform
 #define num_overflow           S_num_overflow
 #define dopoptoeval            S_dopoptoeval
+#define dopoptogiven           S_dopoptogiven
 #define dopoptolabel           S_dopoptolabel
 #define dopoptoloop            S_dopoptoloop
 #define dopoptosub             S_dopoptosub
 #define dopoptosub_at          S_dopoptosub_at
+#define dopoptowhen            S_dopoptowhen
 #define save_lines             S_save_lines
 #define doeval                 S_doeval
+#define check_type_and_open    S_check_type_and_open
 #define doopen_pm              S_doopen_pm
 #define path_is_absolute       S_path_is_absolute
+#define run_user_filter                S_run_user_filter
+#define make_matcher           S_make_matcher
+#define matcher_matches_sv     S_matcher_matches_sv
+#define destroy_matcher                S_destroy_matcher
+#define do_smartmatch          S_do_smartmatch
 #endif
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 #define method_common          S_method_common
 #endif
 #endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_ncmp                        S_sv_ncmp
+#define sv_i_ncmp              S_sv_i_ncmp
+#define amagic_ncmp            S_amagic_ncmp
+#define amagic_i_ncmp          S_amagic_i_ncmp
+#define amagic_cmp             S_amagic_cmp
+#define amagic_cmp_locale      S_amagic_cmp_locale
+#define sortcv                 S_sortcv
+#define sortcv_xsub            S_sortcv_xsub
+#define sortcv_stacked         S_sortcv_stacked
+#endif
+#endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define doform                 S_doform
 #define dooneliner             S_dooneliner
 #endif
 #  endif
+#ifdef PERL_CORE
+#define space_join_names_mortal        S_space_join_names_mortal
+#endif
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch               S_regmatch
 #define regrepeat              S_regrepeat
-#define regrepeat_hard         S_regrepeat_hard
 #define regtry                 S_regtry
 #define reginclass             S_reginclass
 #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
 #define to_utf8_substr         S_to_utf8_substr
 #ifdef PERL_CORE
 #define deb_curcv              S_deb_curcv
 #define debprof                        S_debprof
+#define sequence               S_sequence
+#define sequence_num           S_sequence_num
+#define pm_description         S_pm_description
 #endif
 #endif
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #endif
 #if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
-#define asIV                   S_asIV
-#define asUV                   S_asUV
 #define sv_unglob              S_sv_unglob
 #define not_a_number           S_not_a_number
 #define visit                  S_visit
 #define expect_number          S_expect_number
 #endif
 #ifdef PERL_CORE
-#define utf8_mg_pos            S_utf8_mg_pos
-#define utf8_mg_pos_init       S_utf8_mg_pos_init
+#define sv_pos_u2b_forwards    S_sv_pos_u2b_forwards
+#define sv_pos_u2b_midway      S_sv_pos_u2b_midway
+#define sv_pos_u2b_cached      S_sv_pos_u2b_cached
+#define utf8_mg_pos_cache_update       S_utf8_mg_pos_cache_update
+#define sv_pos_b2u_forwards    S_sv_pos_b2u_forwards
+#define sv_pos_b2u_midway      S_sv_pos_b2u_midway
+#define stringify_regexp       S_stringify_regexp
+#define F0convert              S_F0convert
 #endif
-#if defined(PERL_OLD_COPY_ON_WRITE)
+#  if defined(PERL_OLD_COPY_ON_WRITE)
 #ifdef PERL_CORE
 #define sv_release_COW         S_sv_release_COW
 #endif
+#  endif
+#ifdef PERL_CORE
+#define more_sv                        S_more_sv
+#define more_bodies            S_more_bodies
+#define sv_2iuv_common         S_sv_2iuv_common
+#define glob_assign_glob       S_glob_assign_glob
+#define glob_assign_ref                S_glob_assign_ref
+#endif
+#  if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define ptr_table_find         S_ptr_table_find
+#endif
+#  endif
+#ifdef PERL_CORE
+#define find_hash_subscript    S_find_hash_subscript
+#define find_array_subscript   S_find_array_subscript
+#define find_uninit_var                S_find_uninit_var
 #endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define skipspace              S_skipspace
 #define swallow_bom            S_swallow_bom
 #define checkcomma             S_checkcomma
+#define feature_is_enabled     S_feature_is_enabled
 #define force_ident            S_force_ident
 #define incline                        S_incline
 #define intuit_method          S_intuit_method
 #define find_in_my_stash       S_find_in_my_stash
 #define tokenize_use           S_tokenize_use
 #define new_constant           S_new_constant
-#endif
-#  if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport             S_tokereport
-#endif
-#  endif
-#ifdef PERL_CORE
 #define ao                     S_ao
-#define depcom                 S_depcom
 #define incl_perldb            S_incl_perldb
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #define cr_textfilter          S_cr_textfilter
+#define strip_return           S_strip_return
+#endif
+#  endif
+#  if defined(DEBUGGING)
+#ifdef PERL_CORE
+#define tokereport             S_tokereport
 #endif
 #  endif
 #endif
 #define mess_alloc             S_mess_alloc
 #define vdie_croak_common      S_vdie_croak_common
 #define vdie_common            S_vdie_common
+#define write_no_mem           S_write_no_mem
 #endif
 #endif
 #if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define is_utf8_char_slow      S_is_utf8_char_slow
+#define is_utf8_common         S_is_utf8_common
+#define swash_get              S_swash_get
 #endif
 #endif
 #define sv_setsv_flags         Perl_sv_setsv_flags
 #define save_set_svflags       Perl_save_set_svflags
 #define hv_scalar              Perl_hv_scalar
 #define hv_name_set            Perl_hv_name_set
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
 #define hv_clear_placeholders  Perl_hv_clear_placeholders
 #ifdef PERL_CORE
 #define magic_scalarpack       Perl_magic_scalarpack
 #ifdef PERL_CORE
 #define offer_nice_chunk       Perl_offer_nice_chunk
 #endif
+#ifndef SPRINTF_RETURNS_STRLEN
+#endif
+#ifdef PERL_CORE
+#define my_clearenv            Perl_my_clearenv
+#endif
+#ifdef PERL_IMPLICIT_CONTEXT
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define pad_peg                        Perl_pad_peg
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define xmldump_attr           S_xmldump_attr
+#endif
+#endif
+#ifdef PERL_CORE
+#define xmldump_indent         Perl_xmldump_indent
+#define xmldump_vindent                Perl_xmldump_vindent
+#define xmldump_all            Perl_xmldump_all
+#define xmldump_packsubs       Perl_xmldump_packsubs
+#define xmldump_sub            Perl_xmldump_sub
+#define xmldump_form           Perl_xmldump_form
+#define xmldump_eval           Perl_xmldump_eval
+#define sv_catxmlsv            Perl_sv_catxmlsv
+#define sv_catxmlpvn           Perl_sv_catxmlpvn
+#define sv_xmlpeek             Perl_sv_xmlpeek
+#define do_pmop_xmldump                Perl_do_pmop_xmldump
+#define pmop_xmldump           Perl_pmop_xmldump
+#define do_op_xmldump          Perl_do_op_xmldump
+#define op_xmldump             Perl_op_xmldump
+#endif
+#ifdef PERL_CORE
+#define newTOKEN               Perl_newTOKEN
+#define token_free             Perl_token_free
+#define token_getmad           Perl_token_getmad
+#define op_getmad_weak         Perl_op_getmad_weak
+#define op_getmad              Perl_op_getmad
+#define prepend_madprops       Perl_prepend_madprops
+#define append_madprops                Perl_append_madprops
+#define addmad                 Perl_addmad
+#define newMADsv               Perl_newMADsv
+#define newMADPROP             Perl_newMADPROP
+#define mad_free               Perl_mad_free
+#endif
+#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define skipspace0             S_skipspace0
+#define skipspace1             S_skipspace1
+#define skipspace2             S_skipspace2
+#define start_force            S_start_force
+#define curmad                 S_curmad
+#endif
+#  endif
+#ifdef PERL_CORE
+#define madlex                 Perl_madlex
+#define madparse               Perl_madparse
+#endif
+#endif
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
+#define ck_chdir               Perl_ck_chdir
 #define ck_concat              Perl_ck_concat
 #define ck_defined             Perl_ck_defined
 #define ck_delete              Perl_ck_delete
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_sassign             Perl_ck_sassign
+#define ck_say                 Perl_ck_say
 #define ck_select              Perl_ck_select
 #define ck_shift               Perl_ck_shift
+#define ck_smartmatch          Perl_ck_smartmatch
 #define ck_sort                        Perl_ck_sort
 #define ck_spair               Perl_ck_spair
 #define ck_split               Perl_ck_split
 #define pp_bit_or              Perl_pp_bit_or
 #define pp_bit_xor             Perl_pp_bit_xor
 #define pp_bless               Perl_pp_bless
+#define pp_break               Perl_pp_break
 #define pp_caller              Perl_pp_caller
 #define pp_chdir               Perl_pp_chdir
 #define pp_chmod               Perl_pp_chmod
 #define pp_cond_expr           Perl_pp_cond_expr
 #define pp_connect             Perl_pp_connect
 #define pp_const               Perl_pp_const
+#define pp_continue            Perl_pp_continue
 #define pp_cos                 Perl_pp_cos
 #define pp_crypt               Perl_pp_crypt
 #define pp_dbmclose            Perl_pp_dbmclose
 #define pp_enetent             Perl_pp_enetent
 #define pp_enter               Perl_pp_enter
 #define pp_entereval           Perl_pp_entereval
+#define pp_entergiven          Perl_pp_entergiven
 #define pp_enteriter           Perl_pp_enteriter
 #define pp_enterloop           Perl_pp_enterloop
 #define pp_entersub            Perl_pp_entersub
 #define pp_entertry            Perl_pp_entertry
+#define pp_enterwhen           Perl_pp_enterwhen
 #define pp_enterwrite          Perl_pp_enterwrite
 #define pp_eof                 Perl_pp_eof
 #define pp_eprotoent           Perl_pp_eprotoent
 #define pp_le                  Perl_pp_le
 #define pp_leave               Perl_pp_leave
 #define pp_leaveeval           Perl_pp_leaveeval
+#define pp_leavegiven          Perl_pp_leavegiven
 #define pp_leaveloop           Perl_pp_leaveloop
 #define pp_leavesub            Perl_pp_leavesub
 #define pp_leavesublv          Perl_pp_leavesublv
 #define pp_leavetry            Perl_pp_leavetry
+#define pp_leavewhen           Perl_pp_leavewhen
 #define pp_leavewrite          Perl_pp_leavewrite
 #define pp_left_shift          Perl_pp_left_shift
 #define pp_length              Perl_pp_length
 #define pp_rv2hv               Perl_pp_rv2hv
 #define pp_rv2sv               Perl_pp_rv2sv
 #define pp_sassign             Perl_pp_sassign
+#define pp_say                 Perl_pp_say
 #define pp_scalar              Perl_pp_scalar
 #define pp_schomp              Perl_pp_schomp
 #define pp_schop               Perl_pp_schop
 #define pp_sle                 Perl_pp_sle
 #define pp_sleep               Perl_pp_sleep
 #define pp_slt                 Perl_pp_slt
+#define pp_smartmatch          Perl_pp_smartmatch
 #define pp_sne                 Perl_pp_sne
 #define pp_snetent             Perl_pp_snetent
 #define pp_socket              Perl_pp_socket
 #endif
 #ifdef PERL_CORE
 #define convert(a,b,c)         Perl_convert(aTHX_ a,b,c)
+#define create_eval_scope(a)   Perl_create_eval_scope(aTHX_ a)
 #endif
 #define vcroak(a,b)            Perl_vcroak(aTHX_ a,b)
 #if defined(PERL_IMPLICIT_CONTEXT)
 #endif
 #ifdef PERL_CORE
 #define cv_ckproto(a,b,c)      Perl_cv_ckproto(aTHX_ a,b,c)
+#define cv_ckproto_len(a,b,c,d)        Perl_cv_ckproto_len(aTHX_ a,b,c,d)
 #define cv_clone(a)            Perl_cv_clone(aTHX_ a)
 #endif
+#define gv_const_sv(a)         Perl_gv_const_sv(aTHX_ a)
 #define cv_const_sv(a)         Perl_cv_const_sv(aTHX_ a)
 #ifdef PERL_CORE
 #define op_const_sv(a,b)       Perl_op_const_sv(aTHX_ a,b)
 #define debstackptrs()         Perl_debstackptrs(aTHX)
 #define delimcpy(a,b,c,d,e,f)  Perl_delimcpy(aTHX_ a,b,c,d,e,f)
 #ifdef PERL_CORE
+#define delete_eval_scope()    Perl_delete_eval_scope(aTHX)
 #define deprecate(a)           Perl_deprecate(aTHX_ a)
 #define deprecate_old(a)       Perl_deprecate_old(aTHX_ a)
 #endif
 #endif
 #define dounwind(a)            Perl_dounwind(aTHX_ a)
 #ifdef PERL_CORE
-#define do_aexec(a,b,c)                Perl_do_aexec(aTHX_ a,b,c)
 #define do_aexec5(a,b,c,d,e)   Perl_do_aexec5(aTHX_ a,b,c,d,e)
 #endif
 #define do_binmode(a,b,c)      Perl_do_binmode(aTHX_ a,b,c)
 #define do_close(a,b)          Perl_do_close(aTHX_ a,b)
 #ifdef PERL_CORE
 #define do_eof(a)              Perl_do_eof(aTHX_ a)
+#endif
+#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
+#ifdef PERL_CORE
+#endif
+#else
+#ifdef PERL_CORE
 #define do_exec(a)             Perl_do_exec(aTHX_ a)
 #endif
-#if defined(WIN32) || defined(SYMBIAN)
+#endif
+#if defined(WIN32) || defined(__SYMBIAN32__)
 #define do_aspawn(a,b,c)       Perl_do_aspawn(aTHX_ a,b,c)
 #define do_spawn(a)            Perl_do_spawn(aTHX_ a)
 #define do_spawn_nowait(a)     Perl_do_spawn_nowait(aTHX_ a)
 #ifdef PERL_CORE
 #define do_kv()                        Perl_do_kv(aTHX)
 #endif
-#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)
 #ifdef PERL_CORE
 #define gv_fetchfile(a)                Perl_gv_fetchfile(aTHX_ a)
 #define gv_fetchmeth(a,b,c,d)  Perl_gv_fetchmeth(aTHX_ a,b,c,d)
 #define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
-#define gv_fetchmethod(a,b)    Perl_gv_fetchmethod(aTHX_ a,b)
 #define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
 #define gv_fetchpv(a,b,c)      Perl_gv_fetchpv(aTHX_ a,b,c)
 #define gv_fullname(a,b)       Perl_gv_fullname(aTHX_ a,b)
 #define gv_fullname4(a,b,c,d)  Perl_gv_fullname4(aTHX_ a,b,c,d)
 #define gv_init(a,b,c,d,e)     Perl_gv_init(aTHX_ a,b,c,d,e)
+#define gv_name_set(a,b,c,d)   Perl_gv_name_set(aTHX_ a,b,c,d)
 #define gv_stashpv(a,b)                Perl_gv_stashpv(aTHX_ a,b)
 #define gv_stashpvn(a,b,c)     Perl_gv_stashpvn(aTHX_ a,b,c)
 #define gv_stashsv(a,b)                Perl_gv_stashsv(aTHX_ a,b)
 #define hv_clear(a)            Perl_hv_clear(aTHX_ a)
+#ifdef PERL_CORE
+#endif
 #define hv_delayfree_ent(a,b)  Perl_hv_delayfree_ent(aTHX_ a,b)
 #define hv_delete(a,b,c,d)     Perl_hv_delete(aTHX_ a,b,c,d)
 #define hv_delete_ent(a,b,c,d) Perl_hv_delete_ent(aTHX_ a,b,c,d)
 #define hv_iterinit(a)         Perl_hv_iterinit(aTHX_ a)
 #define hv_iterkey(a,b)                Perl_hv_iterkey(aTHX_ a,b)
 #define hv_iterkeysv(a)                Perl_hv_iterkeysv(aTHX_ a)
-#define hv_iternext(a)         Perl_hv_iternext(aTHX_ a)
 #define hv_iternextsv(a,b,c)   Perl_hv_iternextsv(aTHX_ a,b,c)
 #define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b)
 #define hv_iterval(a,b)                Perl_hv_iterval(aTHX_ a,b)
 #define hv_ksplit(a,b)         Perl_hv_ksplit(aTHX_ a,b)
-#define hv_magic(a,b,c)                Perl_hv_magic(aTHX_ a,b,c)
+#ifdef PERL_CORE
+#endif
 #define hv_store(a,b,c,d,e)    Perl_hv_store(aTHX_ a,b,c,d,e)
 #define hv_store_ent(a,b,c,d)  Perl_hv_store_ent(aTHX_ a,b,c,d)
 #define hv_store_flags(a,b,c,d,e,f)    Perl_hv_store_flags(aTHX_ a,b,c,d,e,f)
 #define is_uni_xdigit_lc(a)    Perl_is_uni_xdigit_lc(aTHX_ a)
 #define is_utf8_char(a)                Perl_is_utf8_char(aTHX_ a)
 #define is_utf8_string(a,b)    Perl_is_utf8_string(aTHX_ a,b)
-#define is_utf8_string_loc(a,b,c)      Perl_is_utf8_string_loc(aTHX_ a,b,c)
 #define is_utf8_string_loclen(a,b,c,d) Perl_is_utf8_string_loclen(aTHX_ a,b,c,d)
 #define is_utf8_alnum(a)       Perl_is_utf8_alnum(aTHX_ a)
 #define is_utf8_alnumc(a)      Perl_is_utf8_alnumc(aTHX_ a)
 #ifdef PERL_CORE
 #define magic_clearenv(a,b)    Perl_magic_clearenv(aTHX_ a,b)
 #define magic_clear_all_env(a,b)       Perl_magic_clear_all_env(aTHX_ a,b)
+#define magic_clearhint(a,b)   Perl_magic_clearhint(aTHX_ a,b)
 #define magic_clearpack(a,b)   Perl_magic_clearpack(aTHX_ a,b)
 #define magic_clearsig(a,b)    Perl_magic_clearsig(aTHX_ a,b)
 #define magic_existspack(a,b)  Perl_magic_existspack(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 magic_getglob(a,b)     Perl_magic_getglob(aTHX_ a,b)
 #define magic_getnkeys(a,b)    Perl_magic_getnkeys(aTHX_ a,b)
 #define magic_getpack(a,b)     Perl_magic_getpack(aTHX_ a,b)
 #define magic_getpos(a,b)      Perl_magic_getpos(aTHX_ a,b)
 #define magic_setdefelem(a,b)  Perl_magic_setdefelem(aTHX_ a,b)
 #define magic_setenv(a,b)      Perl_magic_setenv(aTHX_ a,b)
 #define magic_setfm(a,b)       Perl_magic_setfm(aTHX_ a,b)
+#define magic_sethint(a,b)     Perl_magic_sethint(aTHX_ a,b)
 #define magic_setisa(a,b)      Perl_magic_setisa(aTHX_ a,b)
 #define magic_setglob(a,b)     Perl_magic_setglob(aTHX_ a,b)
 #define magic_setmglob(a,b)    Perl_magic_setmglob(aTHX_ a,b)
 #define qerror(a)              Perl_qerror(aTHX_ a)
 #endif
 #define sortsv(a,b,c)          Perl_sortsv(aTHX_ a,b,c)
+#define sortsv_flags(a,b,c,d)  Perl_sortsv_flags(aTHX_ a,b,c,d)
 #define mg_clear(a)            Perl_mg_clear(aTHX_ a)
 #define mg_copy(a,b,c,d)       Perl_mg_copy(aTHX_ a,b,c,d)
 #ifdef PERL_CORE
 #define newASSIGNOP(a,b,c,d)   Perl_newASSIGNOP(aTHX_ a,b,c,d)
 #define newCONDOP(a,b,c,d)     Perl_newCONDOP(aTHX_ a,b,c,d)
 #define newCONSTSUB(a,b,c)     Perl_newCONSTSUB(aTHX_ a,b,c)
+#ifdef PERL_MAD
+#define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
+#else
 #define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
+#endif
 #define newFOROP(a,b,c,d,e,f,g)        Perl_newFOROP(aTHX_ a,b,c,d,e,f,g)
+#define newGIVENOP(a,b,c)      Perl_newGIVENOP(aTHX_ a,b,c)
 #define newLOGOP(a,b,c,d)      Perl_newLOGOP(aTHX_ a,b,c,d)
 #define newLOOPEX(a,b)         Perl_newLOOPEX(aTHX_ a,b)
 #define newLOOPOP(a,b,c,d)     Perl_newLOOPOP(aTHX_ a,b,c,d)
 #define newSVrv(a,b)           Perl_newSVrv(aTHX_ a,b)
 #define newSVsv(a)             Perl_newSVsv(aTHX_ a)
 #define newUNOP(a,b,c)         Perl_newUNOP(aTHX_ a,b,c)
+#define newWHENOP(a,b)         Perl_newWHENOP(aTHX_ a,b)
 #define newWHILEOP(a,b,c,d,e,f,g,h)    Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g,h)
 #define new_stackinfo(a,b)     Perl_new_stackinfo(aTHX_ a,b)
 #define scan_vstring(a,b)      Perl_scan_vstring(aTHX_ a,b)
 #define oopsCV(a)              Perl_oopsCV(aTHX_ a)
 #endif
 #define op_free(a)             Perl_op_free(aTHX_ a)
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define package(a)             Perl_package(aTHX_ a)
+#endif
+#else
 #ifdef PERL_CORE
 #define package(a)             Perl_package(aTHX_ a)
+#endif
+#endif
+#ifdef PERL_CORE
 #define pad_alloc(a,b)         Perl_pad_alloc(aTHX_ a,b)
 #define allocmy(a)             Perl_allocmy(aTHX_ a)
 #define pad_findmy(a)          Perl_pad_findmy(aTHX_ a)
 #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 doref(a,b,c)           Perl_doref(aTHX_ a,b,c)
 #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 require_pv(a)          Perl_require_pv(aTHX_ a)
 #define pack_cat(a,b,c,d,e,f,g)        Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
 #define packlist(a,b,c,d,e)    Perl_packlist(aTHX_ a,b,c,d,e)
+#ifdef PERL_USES_PL_PIDSTATUS
 #ifdef PERL_CORE
 #define pidgone(a,b)           Perl_pidgone(aTHX_ a,b)
 #endif
+#endif
 #define pmflag(a,b)            Perl_pmflag(aTHX_ a,b)
 #ifdef PERL_CORE
 #define pmruntime(a,b,c)       Perl_pmruntime(aTHX_ a,b,c)
 #endif
 #define push_scope()           Perl_push_scope(aTHX)
 #ifdef PERL_CORE
-#define ref(a,b)               Perl_ref(aTHX_ a,b)
 #define refkids(a,b)           Perl_refkids(aTHX_ a,b)
 #endif
 #define regdump(a)             Perl_regdump(aTHX_ a)
-#define regclass_swash(a,b,c,d)        Perl_regclass_swash(aTHX_ a,b,c,d)
+#define regclass_swash(a,b,c,d,e)      Perl_regclass_swash(aTHX_ a,b,c,d,e)
 #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 regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
 #define regnext(a)             Perl_regnext(aTHX_ a)
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define regprop(a,b)           Perl_regprop(aTHX_ a,b)
+#define regprop(a,b,c)         Perl_regprop(aTHX_ a,b,c)
 #endif
 #define repeatcpy(a,b,c,d)     Perl_repeatcpy(aTHX_ a,b,c,d)
 #define rninstr(a,b,c,d)       Perl_rninstr(aTHX_ a,b,c,d)
 #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)
 #ifdef PERL_CORE
 #define sawparens(a)           Perl_sawparens(aTHX_ a)
 #define scalar(a)              Perl_scalar(aTHX_ a)
 #define sv_2bool(a)            Perl_sv_2bool(aTHX_ a)
 #define sv_2cv(a,b,c,d)                Perl_sv_2cv(aTHX_ a,b,c,d)
 #define sv_2io(a)              Perl_sv_2io(aTHX_ a)
+#ifdef PERL_IN_SV_C
+#ifdef PERL_CORE
+#define glob_2inpuv(a,b,c)     S_glob_2inpuv(aTHX_ a,b,c)
+#endif
+#endif
 #define sv_2iv_flags(a,b)      Perl_sv_2iv_flags(aTHX_ a,b)
 #define sv_2mortal(a)          Perl_sv_2mortal(aTHX_ a)
 #define sv_2nv(a)              Perl_sv_2nv(aTHX_ a)
 #define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
 #define sv_setpv(a,b)          Perl_sv_setpv(aTHX_ a,b)
 #define sv_setpvn(a,b,c)       Perl_sv_setpvn(aTHX_ a,b,c)
-#define sv_taint(a)            Perl_sv_taint(aTHX_ a)
 #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 sv_usepvn_flags(a,b,c,d)       Perl_sv_usepvn_flags(aTHX_ a,b,c,d)
 #define sv_vcatpvfn(a,b,c,d,e,f,g)     Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
 #define sv_vsetpvfn(a,b,c,d,e,f,g)     Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
 #define str_to_version(a)      Perl_str_to_version(aTHX_ a)
 #define unsharepvn(a,b,c)      Perl_unsharepvn(aTHX_ a,b,c)
 #ifdef PERL_CORE
 #define unshare_hek(a)         Perl_unshare_hek(aTHX_ a)
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
 #define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
 #endif
+#else
+#ifdef PERL_CORE
+#define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
+#endif
+#endif
 #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 bytes_to_utf8(a,b)     Perl_bytes_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)
+#ifdef EBCDIC
 #define utf8n_to_uvchr(a,b,c,d)        Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
+#else
+#endif
 #define utf8n_to_uvuni(a,b,c,d)        Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
+#ifdef EBCDIC
 #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)
+#else
+#endif
 #define uvchr_to_utf8_flags(a,b,c)     Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
 #define uvuni_to_utf8_flags(a,b,c)     Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
 #define pv_uni_display(a,b,c,d,e)      Perl_pv_uni_display(aTHX_ a,b,c,d,e)
 #define vivify_ref(a,b)                Perl_vivify_ref(aTHX_ a,b)
 #define wait4pid(a,b,c)                Perl_wait4pid(aTHX_ a,b,c)
 #define parse_unicode_opts(a)  Perl_parse_unicode_opts(aTHX_ a)
+#endif
 #define seed()                 Perl_seed(aTHX)
+#ifdef PERL_CORE
 #define get_hash_seed()                Perl_get_hash_seed(aTHX)
 #define report_evil_fh(a,b,c)  Perl_report_evil_fh(aTHX_ a,b,c)
 #define report_uninit(a)       Perl_report_uninit(aTHX_ a)
 #define runops_debug()         Perl_runops_debug(aTHX)
 #define sv_vcatpvf_mg(a,b,c)   Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
 #define sv_catpv_mg(a,b)       Perl_sv_catpv_mg(aTHX_ a,b)
-#define sv_catpvn_mg(a,b,c)    Perl_sv_catpvn_mg(aTHX_ a,b,c)
-#define sv_catsv_mg(a,b)       Perl_sv_catsv_mg(aTHX_ a,b)
 #define sv_vsetpvf_mg(a,b,c)   Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
 #define sv_setiv_mg(a,b)       Perl_sv_setiv_mg(aTHX_ a,b)
 #define sv_setpviv_mg(a,b)     Perl_sv_setpviv_mg(aTHX_ a,b)
 #define sv_setpv_mg(a,b)       Perl_sv_setpv_mg(aTHX_ a,b)
 #define sv_setpvn_mg(a,b,c)    Perl_sv_setpvn_mg(aTHX_ a,b,c)
 #define sv_setsv_mg(a,b)       Perl_sv_setsv_mg(aTHX_ a,b)
-#define sv_usepvn_mg(a,b,c)    Perl_sv_usepvn_mg(aTHX_ a,b,c)
 #define get_vtbl(a)            Perl_get_vtbl(aTHX_ a)
 #define pv_display(a,b,c,d,e)  Perl_pv_display(aTHX_ a,b,c,d,e)
 #define dump_vindent(a,b,c,d)  Perl_dump_vindent(aTHX_ a,b,c,d)
 #define do_sv_dump(a,b,c,d,e,f,g)      Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
 #define magic_dump(a)          Perl_magic_dump(aTHX_ a)
 #define reginitcolors()                Perl_reginitcolors(aTHX)
-#define sv_2pv_nolen(a)                Perl_sv_2pv_nolen(aTHX_ a)
-#define sv_2pvutf8_nolen(a)    Perl_sv_2pvutf8_nolen(aTHX_ a)
-#define sv_2pvbyte_nolen(a)    Perl_sv_2pvbyte_nolen(aTHX_ a)
 #define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b)
 #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)
 #endif
 #define newANONATTRSUB(a,b,c,d)        Perl_newANONATTRSUB(aTHX_ a,b,c,d)
 #define newATTRSUB(a,b,c,d,e)  Perl_newATTRSUB(aTHX_ a,b,c,d,e)
+#ifdef PERL_MAD
+#define newMYSUB(a,b,c,d,e)    Perl_newMYSUB(aTHX_ a,b,c,d,e)
+#else
 #define newMYSUB(a,b,c,d,e)    Perl_newMYSUB(aTHX_ a,b,c,d,e)
+#endif
 #ifdef PERL_CORE
 #define my_attrs(a,b)          Perl_my_attrs(aTHX_ a,b)
 #define boot_core_xsutils()    Perl_boot_core_xsutils(aTHX)
 #endif
 #endif
 #define sv_nosharing(a)                Perl_sv_nosharing(aTHX_ a)
-#define sv_nolocking(a)                Perl_sv_nolocking(aTHX_ a)
+#ifdef NO_MATHOMS
+#else
 #define sv_nounlocking(a)      Perl_sv_nounlocking(aTHX_ a)
+#endif
 #define nothreadhook()         Perl_nothreadhook(aTHX)
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define require_errno(a)       S_require_errno(aTHX_ a)
 #endif
 #endif
+#ifdef PERL_CORE
+#endif
 #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define hsplit(a)              S_hsplit(aTHX_ a)
 #define hfreeentries(a)                S_hfreeentries(aTHX_ a)
 #define new_he()               S_new_he(aTHX)
-#define save_hek_flags(a,b,c,d)        S_save_hek_flags(aTHX_ a,b,c,d)
-#define hv_magic_check(a,b,c)  S_hv_magic_check(aTHX_ a,b,c)
+#define save_hek_flags         S_save_hek_flags
+#define hv_magic_check         S_hv_magic_check
 #define unshare_hek_or_pvn(a,b,c,d)    S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #define share_hek_flags(a,b,c,d)       S_share_hek_flags(aTHX_ a,b,c,d)
 #define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
-#define hv_auxinit(a)          S_hv_auxinit(aTHX_ a)
+#define hv_auxinit             S_hv_auxinit
 #define hv_delete_common(a,b,c,d,e,f,g)        S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
 #define hv_fetch_common(a,b,c,d,e,f,g,h)       S_hv_fetch_common(aTHX_ a,b,c,d,e,f,g,h)
+#define clear_placeholders(a,b)        S_clear_placeholders(aTHX_ a,b)
 #endif
 #endif
 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
 #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_say(a)              Perl_ck_say(aTHX_ a)
 #define ck_select(a)           Perl_ck_select(aTHX_ a)
 #define ck_shift(a)            Perl_ck_shift(aTHX_ a)
 #define ck_sort(a)             Perl_ck_sort(aTHX_ a)
 #define ck_svconst(a)          Perl_ck_svconst(aTHX_ a)
 #define ck_trunc(a)            Perl_ck_trunc(aTHX_ a)
 #define ck_unpack(a)           Perl_ck_unpack(aTHX_ a)
-#define is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
+#define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment(a)  S_is_list_assignment(aTHX_ a)
 #define cop_free(a)            S_cop_free(aTHX_ a)
 #define modkids(a,b)           S_modkids(aTHX_ a,b)
 #define new_logop(a,b,c,d)     S_new_logop(aTHX_ a,b,c,d)
 #define simplify_sort(a)       S_simplify_sort(aTHX_ a)
 #define gv_ename(a)            S_gv_ename(aTHX_ a)
-#define scalar_mod_type(a,b)   S_scalar_mod_type(aTHX_ a,b)
+#define scalar_mod_type                S_scalar_mod_type
 #define my_kid(a,b,c)          S_my_kid(aTHX_ a,b,c)
 #define dup_attrlist(a)                S_dup_attrlist(aTHX_ a)
 #define apply_attrs(a,b,c,d)   S_apply_attrs(aTHX_ a,b,c,d)
 #define no_fh_allowed(a)       S_no_fh_allowed(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 looks_like_bool(a)     S_looks_like_bool(aTHX_ a)
+#define newGIVWHENOP(a,b,c,d,e)        S_newGIVWHENOP(aTHX_ a,b,c,d,e)
+#define ref_array_or_hash(a)   S_ref_array_or_hash(aTHX_ a)
 #endif
 #endif
 #if defined(PL_OP_SLAB_ALLOC)
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define find_beginning()       S_find_beginning(aTHX)
-#define forbid_setid(a)                S_forbid_setid(aTHX_ a)
+#define forbid_setid(a,b)      S_forbid_setid(aTHX_ a,b)
 #define incpush(a,b,c,d,e)     S_incpush(aTHX_ a,b,c,d,e)
 #define init_interp()          S_init_interp(aTHX)
 #define init_ids()             S_init_ids(aTHX)
 #define init_predump_symbols() S_init_predump_symbols(aTHX)
 #define my_exit_jump()         S_my_exit_jump(aTHX)
 #define nuke_stacks()          S_nuke_stacks(aTHX)
-#define open_script(a,b,c)     S_open_script(aTHX_ a,b,c)
+#define open_script(a,b,c,d)   S_open_script(aTHX_ a,b,c,d)
 #define usage(a)               S_usage(aTHX_ a)
-#define validate_suid(a,b)     S_validate_suid(aTHX_ a,b)
+#define validate_suid(a,b,c,d) S_validate_suid(aTHX_ a,b,c,d)
 #endif
 #  if defined(IAMSUID)
 #ifdef PERL_CORE
 #define run_body(a)            S_run_body(aTHX_ a)
 #define call_body(a,b)         S_call_body(aTHX_ a,b)
 #define call_list_body(a)      S_call_list_body(aTHX_ a)
+#define incpush_if_exists(a)   S_incpush_if_exists(aTHX_ a)
 #endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
 #define get_num(a,b)           S_get_num(aTHX_ a,b)
 #define need_utf8              S_need_utf8
 #define first_symbol           S_first_symbol
+#define sv_exp_grow(a,b)       S_sv_exp_grow(aTHX_ a,b)
 #endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define num_overflow           S_num_overflow
 #define dopoptoeval(a)         S_dopoptoeval(aTHX_ a)
+#define dopoptogiven(a)                S_dopoptogiven(aTHX_ a)
 #define dopoptolabel(a)                S_dopoptolabel(aTHX_ a)
 #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 dopoptowhen(a)         S_dopoptowhen(aTHX_ a)
 #define save_lines(a,b)                S_save_lines(aTHX_ a,b)
 #define doeval(a,b,c,d)                S_doeval(aTHX_ a,b,c,d)
+#define check_type_and_open(a,b)       S_check_type_and_open(aTHX_ a,b)
 #define doopen_pm(a,b)         S_doopen_pm(aTHX_ a,b)
-#define path_is_absolute(a)    S_path_is_absolute(aTHX_ a)
+#define path_is_absolute       S_path_is_absolute
+#define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
+#define make_matcher(a)                S_make_matcher(aTHX_ a)
+#define matcher_matches_sv(a,b)        S_matcher_matches_sv(aTHX_ a,b)
+#define destroy_matcher(a)     S_destroy_matcher(aTHX_ a)
+#define do_smartmatch(a,b)     S_do_smartmatch(aTHX_ a,b)
 #endif
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 #define method_common(a,b)     S_method_common(aTHX_ a,b)
 #endif
 #endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_ncmp(a,b)           S_sv_ncmp(aTHX_ a,b)
+#define sv_i_ncmp(a,b)         S_sv_i_ncmp(aTHX_ a,b)
+#define amagic_ncmp(a,b)       S_amagic_ncmp(aTHX_ a,b)
+#define amagic_i_ncmp(a,b)     S_amagic_i_ncmp(aTHX_ a,b)
+#define amagic_cmp(a,b)                S_amagic_cmp(aTHX_ a,b)
+#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
+#define sortcv(a,b)            S_sortcv(aTHX_ a,b)
+#define sortcv_xsub(a,b)       S_sortcv_xsub(aTHX_ a,b)
+#define sortcv_stacked(a,b)    S_sortcv_stacked(aTHX_ a,b)
+#endif
+#endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define doform(a,b,c)          S_doform(aTHX_ a,b,c)
 #define dooneliner(a,b)                S_dooneliner(aTHX_ a,b)
 #endif
 #  endif
+#ifdef PERL_CORE
+#define space_join_names_mortal(a)     S_space_join_names_mortal(aTHX_ a)
+#endif
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #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 regcurly               S_regcurly
 #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 regwhite               S_regwhite
 #define nextchar(a)            S_nextchar(aTHX_ a)
 #endif
 #  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define dumpuntil(a,b,c,d,e)   S_dumpuntil(aTHX_ a,b,c,d,e)
+#define dumpuntil(a,b,c,d,e,f) S_dumpuntil(aTHX_ a,b,c,d,e,f)
 #define put_byte(a,b)          S_put_byte(aTHX_ a,b)
 #endif
 #  endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #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,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,c)           S_cl_or(aTHX_ a,b,c)
+#define cl_anything            S_cl_anything
+#define cl_is_anything         S_cl_is_anything
+#define cl_init                        S_cl_init
+#define cl_init_zero           S_cl_init_zero
+#define cl_and                 S_cl_and
+#define cl_or                  S_cl_or
 #define study_chunk(a,b,c,d,e,f,g)     S_study_chunk(aTHX_ a,b,c,d,e,f,g)
-#define add_data(a,b,c)                S_add_data(aTHX_ a,b,c)
+#define add_data               S_add_data
 #endif
 #ifdef PERL_CORE
 #endif
 #endif
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#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 regmatch(a,b)          S_regmatch(aTHX_ a,b)
+#define regrepeat(a,b,c)       S_regrepeat(aTHX_ a,b,c)
 #define regtry(a,b)            S_regtry(aTHX_ a,b)
-#define reginclass(a,b,c,d)    S_reginclass(aTHX_ a,b,c,d)
+#define reginclass(a,b,c,d,e)  S_reginclass(aTHX_ a,b,c,d,e)
 #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 regcppop(a)            S_regcppop(aTHX_ a)
+#define reghop3                        S_reghop3
+#define reghopmaybe3           S_reghopmaybe3
 #define find_byclass(a,b,c,d,e)        S_find_byclass(aTHX_ a,b,c,d,e)
 #define to_utf8_substr(a)      S_to_utf8_substr(aTHX_ a)
 #define to_byte_substr(a)      S_to_byte_substr(aTHX_ a)
 #ifdef PERL_CORE
 #define deb_curcv(a)           S_deb_curcv(aTHX_ a)
 #define debprof(a)             S_debprof(aTHX_ a)
+#define sequence(a)            S_sequence(aTHX_ a)
+#define sequence_num(a)                S_sequence_num(aTHX_ a)
+#define pm_description(a)      S_pm_description(aTHX_ a)
 #endif
 #endif
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #endif
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
-#define asIV(a)                        S_asIV(aTHX_ a)
-#define asUV(a)                        S_asUV(aTHX_ a)
 #define sv_unglob(a)           S_sv_unglob(aTHX_ a)
 #define not_a_number(a)                S_not_a_number(aTHX_ a)
 #define visit(a,b,c)           S_visit(aTHX_ a,b,c)
 #define expect_number(a)       S_expect_number(aTHX_ a)
 #endif
 #ifdef PERL_CORE
-#define utf8_mg_pos(a,b,c,d,e,f,g,h,i) S_utf8_mg_pos(aTHX_ a,b,c,d,e,f,g,h,i)
-#define utf8_mg_pos_init(a,b,c,d,e,f,g)        S_utf8_mg_pos_init(aTHX_ a,b,c,d,e,f,g)
+#define sv_pos_u2b_forwards(a,b,c)     S_sv_pos_u2b_forwards(aTHX_ a,b,c)
+#define sv_pos_u2b_midway(a,b,c,d)     S_sv_pos_u2b_midway(aTHX_ a,b,c,d)
+#define sv_pos_u2b_cached(a,b,c,d,e,f,g)       S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
+#define utf8_mg_pos_cache_update(a,b,c,d,e)    S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
+#define sv_pos_b2u_forwards(a,b)       S_sv_pos_b2u_forwards(aTHX_ a,b)
+#define sv_pos_b2u_midway(a,b,c,d)     S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
+#define stringify_regexp(a,b,c)        S_stringify_regexp(aTHX_ a,b,c)
+#define F0convert              S_F0convert
 #endif
-#if defined(PERL_OLD_COPY_ON_WRITE)
+#  if defined(PERL_OLD_COPY_ON_WRITE)
 #ifdef PERL_CORE
 #define sv_release_COW(a,b,c,d)        S_sv_release_COW(aTHX_ a,b,c,d)
 #endif
+#  endif
+#ifdef PERL_CORE
+#define more_sv()              S_more_sv(aTHX)
+#define more_bodies(a)         S_more_bodies(aTHX_ a)
+#define sv_2iuv_common(a)      S_sv_2iuv_common(aTHX_ a)
+#define glob_assign_glob(a,b,c)        S_glob_assign_glob(aTHX_ a,b,c)
+#define glob_assign_ref(a,b)   S_glob_assign_ref(aTHX_ a,b)
+#endif
+#  if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define ptr_table_find         S_ptr_table_find
+#endif
+#  endif
+#ifdef PERL_CORE
+#define find_hash_subscript(a,b)       S_find_hash_subscript(aTHX_ a,b)
+#define find_array_subscript(a,b)      S_find_array_subscript(aTHX_ a,b)
+#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define skipspace(a)           S_skipspace(aTHX_ a)
 #define swallow_bom(a)         S_swallow_bom(aTHX_ a)
 #define checkcomma(a,b,c)      S_checkcomma(aTHX_ a,b,c)
+#define feature_is_enabled(a,b)        S_feature_is_enabled(aTHX_ a,b)
 #define force_ident(a,b)       S_force_ident(aTHX_ a,b)
 #define incline(a)             S_incline(aTHX_ a)
-#define intuit_method(a,b)     S_intuit_method(aTHX_ a,b)
+#define intuit_method(a,b,c)   S_intuit_method(aTHX_ a,b,c)
 #define intuit_more(a)         S_intuit_more(aTHX_ a)
 #define lop(a,b,c)             S_lop(aTHX_ a,b,c)
 #define missingterm(a)         S_missingterm(aTHX_ a)
 #define find_in_my_stash(a,b)  S_find_in_my_stash(aTHX_ a,b)
 #define tokenize_use(a,b)      S_tokenize_use(aTHX_ a,b)
 #define new_constant(a,b,c,d,e,f)      S_new_constant(aTHX_ a,b,c,d,e,f)
-#endif
-#  if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport(a,b)                S_tokereport(aTHX_ a,b)
-#endif
-#  endif
-#ifdef PERL_CORE
 #define ao(a)                  S_ao(aTHX_ a)
-#define depcom()               S_depcom(aTHX)
 #define incl_perldb()          S_incl_perldb(aTHX)
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #define cr_textfilter(a,b,c)   S_cr_textfilter(aTHX_ a,b,c)
+#define strip_return(a)                S_strip_return(aTHX_ a)
+#endif
+#  endif
+#  if defined(DEBUGGING)
+#ifdef PERL_CORE
+#define tokereport(a)          S_tokereport(aTHX_ a)
 #endif
 #  endif
 #endif
 #define closest_cop(a,b)       S_closest_cop(aTHX_ a,b)
 #define mess_alloc()           S_mess_alloc(aTHX)
 #define vdie_croak_common(a,b,c,d)     S_vdie_croak_common(aTHX_ a,b,c,d)
-#define vdie_common(a,b,c)     S_vdie_common(aTHX_ a,b,c)
+#define vdie_common(a,b,c,d)   S_vdie_common(aTHX_ a,b,c,d)
+#define write_no_mem()         S_write_no_mem(aTHX)
 #endif
 #endif
 #if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define is_utf8_char_slow(a,b) S_is_utf8_char_slow(aTHX_ a,b)
+#define is_utf8_char_slow      S_is_utf8_char_slow
+#define is_utf8_common(a,b,c)  S_is_utf8_common(aTHX_ a,b,c)
+#define swash_get(a,b,c)       S_swash_get(aTHX_ a,b,c)
 #endif
 #endif
 #define sv_setsv_flags(a,b,c)  Perl_sv_setsv_flags(aTHX_ a,b,c)
 #define save_set_svflags(a,b,c)        Perl_save_set_svflags(aTHX_ a,b,c)
 #define hv_scalar(a)           Perl_hv_scalar(aTHX_ a)
 #define hv_name_set(a,b,c,d)   Perl_hv_name_set(aTHX_ a,b,c,d)
+#ifdef PERL_CORE
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
 #define hv_clear_placeholders(a)       Perl_hv_clear_placeholders(aTHX_ a)
 #ifdef PERL_CORE
 #define magic_scalarpack(a,b)  Perl_magic_scalarpack(aTHX_ a,b)
 #ifdef PERL_DONT_CREATE_GVSV
 #define gv_SVadd(a)            Perl_gv_SVadd(aTHX_ a)
 #endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#endif
 #ifdef PERL_CORE
 #define offer_nice_chunk(a,b)  Perl_offer_nice_chunk(aTHX_ a,b)
 #endif
+#ifndef SPRINTF_RETURNS_STRLEN
+#endif
+#ifdef PERL_CORE
+#define my_clearenv()          Perl_my_clearenv(aTHX)
+#endif
+#ifdef PERL_IMPLICIT_CONTEXT
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define pad_peg                        Perl_pad_peg
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
+#ifdef PERL_CORE
+#define xmldump_vindent(a,b,c,d)       Perl_xmldump_vindent(aTHX_ a,b,c,d)
+#define xmldump_all()          Perl_xmldump_all(aTHX)
+#define xmldump_packsubs(a)    Perl_xmldump_packsubs(aTHX_ a)
+#define xmldump_sub(a)         Perl_xmldump_sub(aTHX_ a)
+#define xmldump_form(a)                Perl_xmldump_form(aTHX_ a)
+#define xmldump_eval()         Perl_xmldump_eval(aTHX)
+#define sv_catxmlsv(a,b)       Perl_sv_catxmlsv(aTHX_ a,b)
+#define sv_catxmlpvn(a,b,c,d)  Perl_sv_catxmlpvn(aTHX_ a,b,c,d)
+#define sv_xmlpeek(a)          Perl_sv_xmlpeek(aTHX_ a)
+#define do_pmop_xmldump(a,b,c) Perl_do_pmop_xmldump(aTHX_ a,b,c)
+#define pmop_xmldump(a)                Perl_pmop_xmldump(aTHX_ a)
+#define do_op_xmldump(a,b,c)   Perl_do_op_xmldump(aTHX_ a,b,c)
+#define op_xmldump(a)          Perl_op_xmldump(aTHX_ a)
+#endif
+#ifdef PERL_CORE
+#define newTOKEN(a,b,c)                Perl_newTOKEN(aTHX_ a,b,c)
+#define token_free(a)          Perl_token_free(aTHX_ a)
+#define token_getmad(a,b,c)    Perl_token_getmad(aTHX_ a,b,c)
+#define op_getmad_weak(a,b,c)  Perl_op_getmad_weak(aTHX_ a,b,c)
+#define op_getmad(a,b,c)       Perl_op_getmad(aTHX_ a,b,c)
+#define prepend_madprops(a,b,c)        Perl_prepend_madprops(aTHX_ a,b,c)
+#define append_madprops(a,b,c) Perl_append_madprops(aTHX_ a,b,c)
+#define addmad(a,b,c)          Perl_addmad(aTHX_ a,b,c)
+#define newMADsv(a,b)          Perl_newMADsv(aTHX_ a,b)
+#define newMADPROP(a,b,c,d)    Perl_newMADPROP(aTHX_ a,b,c,d)
+#define mad_free(a)            Perl_mad_free(aTHX_ a)
+#endif
+#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define skipspace0(a)          S_skipspace0(aTHX_ a)
+#define skipspace1(a)          S_skipspace1(aTHX_ a)
+#define skipspace2(a,b)                S_skipspace2(aTHX_ a,b)
+#define start_force(a)         S_start_force(aTHX_ a)
+#define curmad(a,b)            S_curmad(aTHX_ a,b)
+#endif
+#  endif
+#ifdef PERL_CORE
+#define madlex()               Perl_madlex(aTHX)
+#define madparse()             Perl_madparse(aTHX)
+#endif
+#endif
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
+#define ck_chdir(a)            Perl_ck_chdir(aTHX_ a)
 #define ck_concat(a)           Perl_ck_concat(aTHX_ a)
 #define ck_defined(a)          Perl_ck_defined(aTHX_ a)
 #define ck_delete(a)           Perl_ck_delete(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_say(a)              Perl_ck_say(aTHX_ a)
 #define ck_select(a)           Perl_ck_select(aTHX_ a)
 #define ck_shift(a)            Perl_ck_shift(aTHX_ a)
+#define ck_smartmatch(a)       Perl_ck_smartmatch(aTHX_ a)
 #define ck_sort(a)             Perl_ck_sort(aTHX_ a)
 #define ck_spair(a)            Perl_ck_spair(aTHX_ a)
 #define ck_split(a)            Perl_ck_split(aTHX_ a)
 #define pp_bit_or()            Perl_pp_bit_or(aTHX)
 #define pp_bit_xor()           Perl_pp_bit_xor(aTHX)
 #define pp_bless()             Perl_pp_bless(aTHX)
+#define pp_break()             Perl_pp_break(aTHX)
 #define pp_caller()            Perl_pp_caller(aTHX)
 #define pp_chdir()             Perl_pp_chdir(aTHX)
 #define pp_chmod()             Perl_pp_chmod(aTHX)
 #define pp_cond_expr()         Perl_pp_cond_expr(aTHX)
 #define pp_connect()           Perl_pp_connect(aTHX)
 #define pp_const()             Perl_pp_const(aTHX)
+#define pp_continue()          Perl_pp_continue(aTHX)
 #define pp_cos()               Perl_pp_cos(aTHX)
 #define pp_crypt()             Perl_pp_crypt(aTHX)
 #define pp_dbmclose()          Perl_pp_dbmclose(aTHX)
 #define pp_enetent()           Perl_pp_enetent(aTHX)
 #define pp_enter()             Perl_pp_enter(aTHX)
 #define pp_entereval()         Perl_pp_entereval(aTHX)
+#define pp_entergiven()                Perl_pp_entergiven(aTHX)
 #define pp_enteriter()         Perl_pp_enteriter(aTHX)
 #define pp_enterloop()         Perl_pp_enterloop(aTHX)
 #define pp_entersub()          Perl_pp_entersub(aTHX)
 #define pp_entertry()          Perl_pp_entertry(aTHX)
+#define pp_enterwhen()         Perl_pp_enterwhen(aTHX)
 #define pp_enterwrite()                Perl_pp_enterwrite(aTHX)
 #define pp_eof()               Perl_pp_eof(aTHX)
 #define pp_eprotoent()         Perl_pp_eprotoent(aTHX)
 #define pp_le()                        Perl_pp_le(aTHX)
 #define pp_leave()             Perl_pp_leave(aTHX)
 #define pp_leaveeval()         Perl_pp_leaveeval(aTHX)
+#define pp_leavegiven()                Perl_pp_leavegiven(aTHX)
 #define pp_leaveloop()         Perl_pp_leaveloop(aTHX)
 #define pp_leavesub()          Perl_pp_leavesub(aTHX)
 #define pp_leavesublv()                Perl_pp_leavesublv(aTHX)
 #define pp_leavetry()          Perl_pp_leavetry(aTHX)
+#define pp_leavewhen()         Perl_pp_leavewhen(aTHX)
 #define pp_leavewrite()                Perl_pp_leavewrite(aTHX)
 #define pp_left_shift()                Perl_pp_left_shift(aTHX)
 #define pp_length()            Perl_pp_length(aTHX)
 #define pp_rv2hv()             Perl_pp_rv2hv(aTHX)
 #define pp_rv2sv()             Perl_pp_rv2sv(aTHX)
 #define pp_sassign()           Perl_pp_sassign(aTHX)
+#define pp_say()               Perl_pp_say(aTHX)
 #define pp_scalar()            Perl_pp_scalar(aTHX)
 #define pp_schomp()            Perl_pp_schomp(aTHX)
 #define pp_schop()             Perl_pp_schop(aTHX)
 #define pp_sle()               Perl_pp_sle(aTHX)
 #define pp_sleep()             Perl_pp_sleep(aTHX)
 #define pp_slt()               Perl_pp_slt(aTHX)
+#define pp_smartmatch()                Perl_pp_smartmatch(aTHX)
 #define pp_sne()               Perl_pp_sne(aTHX)
 #define pp_snetent()           Perl_pp_snetent(aTHX)
 #define pp_socket()            Perl_pp_socket(aTHX)
 
 #if !defined(PERL_CORE)
 #  define sv_setptrobj(rv,ptr,name)    sv_setref_iv(rv,name,PTR2IV(ptr))
-#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,Nullch,PTR2IV(ptr))
+#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,NULL,PTR2IV(ptr))
 #endif
 
 #if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)