This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix memory leak in C<sub X { sub {} }> arising from a refcount
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 1d33518..75187de 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -9,6 +9,9 @@
 
 /* provide binary compatible (but inconsistent) names */
 #if defined(PERL_BINCOMPAT_5005)
+#  define  Perl_call_atexit            perl_atexit
+#  define  Perl_eval_sv                        perl_eval_sv
+#  define  Perl_eval_pv                        perl_eval_pv
 #  define  Perl_call_argv              perl_call_argv
 #  define  Perl_call_method            perl_call_method
 #  define  Perl_call_pv                        perl_call_pv
 #  define  Perl_safesysrealloc         Perl_saferealloc
 #  define  Perl_set_numeric_local      perl_set_numeric_local
 #  define  Perl_set_numeric_standard   perl_set_numeric_standard
-#  define  PERL_POLLUTE
-#  ifndef EMBEDMYMALLOC
-#    define  PERL_POLLUTE_MALLOC
+/* malloc() pollution was the default in earlier versions, so enable
+ * it for bincompat; but not for systems that used to do prevent that,
+ * or when they ask for {HIDE,EMBED}MYMALLOC */
+#  if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
+#    if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
+        !defined(__QNX__)
+#      define  PERL_POLLUTE_MALLOC
+#    endif
 #  endif
 #endif
 
 #if !defined(PERL_OBJECT)
 #if !defined(PERL_IMPLICIT_CONTEXT)
 
+#if defined(PERL_IMPLICIT_SYS)
+#endif
+#if defined(USE_ITHREADS)
+#  if defined(PERL_IMPLICIT_SYS)
+#  endif
+#endif
+#if defined(MYMALLOC)
+#define malloced_size          Perl_malloced_size
+#endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
 #if defined(PERL_OBJECT)
+#ifndef __BORLANDC__
+#endif
+#endif
+#if defined(PERL_OBJECT)
+#else
 #endif
 #define amagic_call            Perl_amagic_call
 #define Gv_AMupdate            Perl_Gv_AMupdate
 #define append_elem            Perl_append_elem
 #define append_list            Perl_append_list
 #define apply                  Perl_apply
+#define apply_attrs_string     Perl_apply_attrs_string
+#define avhv_delete_ent                Perl_avhv_delete_ent
 #define avhv_exists_ent                Perl_avhv_exists_ent
 #define avhv_fetch_ent         Perl_avhv_fetch_ent
+#define avhv_store_ent         Perl_avhv_store_ent
 #define avhv_iternext          Perl_avhv_iternext
 #define avhv_iterval           Perl_avhv_iterval
 #define avhv_keys              Perl_avhv_keys
 #define av_clear               Perl_av_clear
+#define av_delete              Perl_av_delete
+#define av_exists              Perl_av_exists
 #define av_extend              Perl_av_extend
 #define av_fake                        Perl_av_fake
 #define av_fetch               Perl_av_fetch
 #define die_nocontext          Perl_die_nocontext
 #define deb_nocontext          Perl_deb_nocontext
 #define form_nocontext         Perl_form_nocontext
+#define load_module_nocontext  Perl_load_module_nocontext
+#define mess_nocontext         Perl_mess_nocontext
 #define warn_nocontext         Perl_warn_nocontext
 #define warner_nocontext       Perl_warner_nocontext
 #define newSVpvf_nocontext     Perl_newSVpvf_nocontext
 #define cxinc                  Perl_cxinc
 #define deb                    Perl_deb
 #define vdeb                   Perl_vdeb
-#define deb_growlevel          Perl_deb_growlevel
 #define debprofdump            Perl_debprofdump
 #define debop                  Perl_debop
 #define debstack               Perl_debstack
 #define gv_check               Perl_gv_check
 #define gv_efullname           Perl_gv_efullname
 #define gv_efullname3          Perl_gv_efullname3
+#define gv_efullname4          Perl_gv_efullname4
 #define gv_fetchfile           Perl_gv_fetchfile
 #define gv_fetchmeth           Perl_gv_fetchmeth
 #define gv_fetchmethod         Perl_gv_fetchmethod
 #define gv_fetchpv             Perl_gv_fetchpv
 #define gv_fullname            Perl_gv_fullname
 #define gv_fullname3           Perl_gv_fullname3
+#define gv_fullname4           Perl_gv_fullname4
 #define gv_init                        Perl_gv_init
 #define gv_stashpv             Perl_gv_stashpv
 #define gv_stashpvn            Perl_gv_stashpvn
 #define instr                  Perl_instr
 #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 to_uni_upper_lc                Perl_to_uni_upper_lc
 #define to_uni_title_lc                Perl_to_uni_title_lc
 #define to_uni_lower_lc                Perl_to_uni_lower_lc
+#define is_utf8_char           Perl_is_utf8_char
+#define is_utf8_string         Perl_is_utf8_string
 #define is_utf8_alnum          Perl_is_utf8_alnum
 #define is_utf8_alnumc         Perl_is_utf8_alnumc
 #define is_utf8_idfirst                Perl_is_utf8_idfirst
 #define linklist               Perl_linklist
 #define list                   Perl_list
 #define listkids               Perl_listkids
+#define load_module            Perl_load_module
+#define vload_module           Perl_vload_module
 #define localize               Perl_localize
 #define looks_like_number      Perl_looks_like_number
 #define magic_clearenv         Perl_magic_clearenv
 #define magic_nextpack         Perl_magic_nextpack
 #define magic_regdata_cnt      Perl_magic_regdata_cnt
 #define magic_regdatum_get     Perl_magic_regdatum_get
+#define magic_regdatum_set     Perl_magic_regdatum_set
 #define magic_set              Perl_magic_set
 #define magic_setamagic                Perl_magic_setamagic
 #define magic_setarylen                Perl_magic_setarylen
 #define magic_sizepack         Perl_magic_sizepack
 #define magic_wipepack         Perl_magic_wipepack
 #define magicname              Perl_magicname
-#if defined(MYMALLOC)
-#define malloced_size          Perl_malloced_size
-#endif
 #define markstack_grow         Perl_markstack_grow
 #if defined(USE_LOCALE_COLLATE)
 #define mem_collxfrm           Perl_mem_collxfrm
 #endif
 #define mess                   Perl_mess
+#define vmess                  Perl_vmess
+#define qerror                 Perl_qerror
 #define mg_clear               Perl_mg_clear
 #define mg_copy                        Perl_mg_copy
 #define mg_find                        Perl_mg_find
 #define mg_set                 Perl_mg_set
 #define mg_size                        Perl_mg_size
 #define mod                    Perl_mod
+#define mode_from_discipline   Perl_mode_from_discipline
 #define moreswitches           Perl_moreswitches
 #define my                     Perl_my
 #define my_atof                        Perl_my_atof
 #define newHVhv                        Perl_newHVhv
 #define newIO                  Perl_newIO
 #define newLISTOP              Perl_newLISTOP
+#define newPADOP               Perl_newPADOP
 #define newPMOP                        Perl_newPMOP
 #define newPVOP                        Perl_newPVOP
 #define newRV                  Perl_newRV
 #define newSVREF               Perl_newSVREF
 #define newSVOP                        Perl_newSVOP
 #define newSViv                        Perl_newSViv
+#define newSVuv                        Perl_newSVuv
 #define newSVnv                        Perl_newSVnv
 #define newSVpv                        Perl_newSVpv
 #define newSVpvn               Perl_newSVpvn
 #define pad_swipe              Perl_pad_swipe
 #define peep                   Perl_peep
 #if defined(PERL_OBJECT)
-#else
+#endif
 #if defined(USE_THREADS)
 #define new_struct_thread      Perl_new_struct_thread
 #endif
-#endif
 #define call_atexit            Perl_call_atexit
 #define call_argv              Perl_call_argv
 #define call_method            Perl_call_method
 #define save_clearsv           Perl_save_clearsv
 #define save_delete            Perl_save_delete
 #define save_destructor                Perl_save_destructor
+#define save_destructor_x      Perl_save_destructor_x
 #define save_freesv            Perl_save_freesv
 #define save_freeop            Perl_save_freeop
 #define save_freepv            Perl_save_freepv
 #define save_generic_svref     Perl_save_generic_svref
+#define save_generic_pvref     Perl_save_generic_pvref
 #define save_gp                        Perl_save_gp
 #define save_hash              Perl_save_hash
 #define save_helem             Perl_save_helem
 #define save_hptr              Perl_save_hptr
 #define save_I16               Perl_save_I16
 #define save_I32               Perl_save_I32
+#define save_I8                        Perl_save_I8
 #define save_int               Perl_save_int
 #define save_item              Perl_save_item
 #define save_iv                        Perl_save_iv
 #define save_op                        Perl_save_op
 #define save_scalar            Perl_save_scalar
 #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_2mortal             Perl_sv_2mortal
 #define sv_2nv                 Perl_sv_2nv
 #define sv_2pv                 Perl_sv_2pv
+#define sv_2pvutf8             Perl_sv_2pvutf8
+#define sv_2pvbyte             Perl_sv_2pvbyte
 #define sv_2uv                 Perl_sv_2uv
 #define sv_iv                  Perl_sv_iv
 #define sv_uv                  Perl_sv_uv
 #define sv_nv                  Perl_sv_nv
 #define sv_pvn                 Perl_sv_pvn
+#define sv_pvutf8n             Perl_sv_pvutf8n
+#define sv_pvbyten             Perl_sv_pvbyten
 #define sv_true                        Perl_sv_true
 #define sv_add_arena           Perl_sv_add_arena
 #define sv_backoff             Perl_sv_backoff
 #define sv_pos_u2b             Perl_sv_pos_u2b
 #define sv_pos_b2u             Perl_sv_pos_b2u
 #define sv_pvn_force           Perl_sv_pvn_force
+#define sv_pvutf8n_force       Perl_sv_pvutf8n_force
+#define sv_pvbyten_force       Perl_sv_pvbyten_force
 #define sv_reftype             Perl_sv_reftype
 #define sv_replace             Perl_sv_replace
 #define sv_report_used         Perl_sv_report_used
 #define sv_usepvn              Perl_sv_usepvn
 #define sv_vcatpvfn            Perl_sv_vcatpvfn
 #define sv_vsetpvfn            Perl_sv_vsetpvfn
+#define str_to_version         Perl_str_to_version
 #define swash_init             Perl_swash_init
 #define swash_fetch            Perl_swash_fetch
 #define taint_env              Perl_taint_env
 #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_simple      Perl_utf8_to_uv_simple
 #define utf8_to_uv             Perl_utf8_to_uv
 #define uv_to_utf8             Perl_uv_to_utf8
 #define vivify_defelem         Perl_vivify_defelem
 #define vivify_ref             Perl_vivify_ref
 #define wait4pid               Perl_wait4pid
+#define report_evil_fh         Perl_report_evil_fh
+#define report_uninit          Perl_report_uninit
 #define warn                   Perl_warn
 #define vwarn                  Perl_vwarn
 #define warner                 Perl_warner
 #define watch                  Perl_watch
 #define whichsig               Perl_whichsig
 #define yyerror                        Perl_yyerror
-#if defined(USE_PURE_BISON)
+#ifdef USE_PURE_BISON
+#define yylex_r                        Perl_yylex_r
 #define yylex                  Perl_yylex
 #else
 #define yylex                  Perl_yylex
 #define yywarn                 Perl_yywarn
 #if defined(MYMALLOC)
 #define dump_mstats            Perl_dump_mstats
+#define get_mstats             Perl_get_mstats
 #endif
 #define safesysmalloc          Perl_safesysmalloc
 #define safesyscalloc          Perl_safesyscalloc
 #endif
 #define runops_standard                Perl_runops_standard
 #define runops_debug           Perl_runops_debug
+#if defined(USE_THREADS)
+#define sv_lock                        Perl_sv_lock
+#endif
 #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 do_pmop_dump           Perl_do_pmop_dump
 #define do_sv_dump             Perl_do_sv_dump
 #define magic_dump             Perl_magic_dump
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 #define default_protect                Perl_default_protect
 #define vdefault_protect       Perl_vdefault_protect
+#endif
 #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_pv                  Perl_sv_pv
+#define sv_pvutf8              Perl_sv_pvutf8
+#define sv_pvbyte              Perl_sv_pvbyte
+#define sv_utf8_upgrade                Perl_sv_utf8_upgrade
+#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_add_backref         Perl_sv_add_backref
+#define sv_del_backref         Perl_sv_del_backref
 #define tmps_grow              Perl_tmps_grow
 #define sv_rvweaken            Perl_sv_rvweaken
 #define magic_killbackrefs     Perl_magic_killbackrefs
 #define newMYSUB               Perl_newMYSUB
 #define my_attrs               Perl_my_attrs
 #define boot_core_xsutils      Perl_boot_core_xsutils
+#if defined(USE_ITHREADS)
+#define cx_dup                 Perl_cx_dup
+#define si_dup                 Perl_si_dup
+#define ss_dup                 Perl_ss_dup
+#define any_dup                        Perl_any_dup
+#define he_dup                 Perl_he_dup
+#define re_dup                 Perl_re_dup
+#define fp_dup                 Perl_fp_dup
+#define dirp_dup               Perl_dirp_dup
+#define gp_dup                 Perl_gp_dup
+#define mg_dup                 Perl_mg_dup
+#define sv_dup                 Perl_sv_dup
+#if defined(HAVE_INTERP_INTERN)
+#define sys_intern_dup         Perl_sys_intern_dup
+#endif
+#define ptr_table_new          Perl_ptr_table_new
+#define ptr_table_fetch                Perl_ptr_table_fetch
+#define ptr_table_store                Perl_ptr_table_store
+#define ptr_table_split                Perl_ptr_table_split
+#endif
+#if defined(HAVE_INTERP_INTERN)
+#define sys_intern_clear       Perl_sys_intern_clear
+#define sys_intern_init                Perl_sys_intern_init
+#endif
 #if defined(PERL_OBJECT)
+#else
 #endif
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define avhv_index_sv          S_avhv_index_sv
+#define avhv_index             S_avhv_index
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#define do_trans_CC_simple     S_do_trans_CC_simple
-#define do_trans_CC_count      S_do_trans_CC_count
-#define do_trans_CC_complex    S_do_trans_CC_complex
-#define do_trans_UU_simple     S_do_trans_UU_simple
-#define do_trans_UU_count      S_do_trans_UU_count
-#define do_trans_UU_complex    S_do_trans_UU_complex
-#define do_trans_UC_simple     S_do_trans_UC_simple
-#define do_trans_CU_simple     S_do_trans_CU_simple
-#define do_trans_UC_trivial    S_do_trans_UC_trivial
-#define do_trans_CU_trivial    S_do_trans_CU_trivial
+#define do_trans_simple                S_do_trans_simple
+#define do_trans_count         S_do_trans_count
+#define do_trans_complex       S_do_trans_complex
+#define do_trans_simple_utf8   S_do_trans_simple_utf8
+#define do_trans_count_utf8    S_do_trans_count_utf8
+#define do_trans_complex_utf8  S_do_trans_complex_utf8
 #endif
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #define gv_init_sv             S_gv_init_sv
 #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 pad_findlex            S_pad_findlex
 #define newDEFSVOP             S_newDEFSVOP
 #define new_logop              S_new_logop
 #define simplify_sort          S_simplify_sort
 #define is_handle_constructor  S_is_handle_constructor
 #define gv_ename               S_gv_ename
+#define cv_dump                        S_cv_dump
 #define cv_clone2              S_cv_clone2
 #define scalar_mod_type                S_scalar_mod_type
 #define my_kid                 S_my_kid
 #define parse_body             S_parse_body
 #define run_body               S_run_body
 #define call_body              S_call_body
-#define call_xbody             S_call_xbody
 #define call_list_body         S_call_list_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vparse_body            S_vparse_body
+#define vrun_body              S_vrun_body
+#define vcall_body             S_vcall_body
+#define vcall_list_body                S_vcall_list_body
+#endif
 #  if defined(USE_THREADS)
 #define init_main_thread       S_init_main_thread
 #  endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define docatch                        S_docatch
 #define docatch_body           S_docatch_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vdocatch_body          S_vdocatch_body
+#endif
 #define dofindlabel            S_dofindlabel
 #define doparseform            S_doparseform
 #define dopoptoeval            S_dopoptoeval
 #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 qsortsv                        S_qsortsv
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define do_maybe_phash         S_do_maybe_phash
+#define do_oddball             S_do_oddball
 #define get_db_sub             S_get_db_sub
 #define method_common          S_method_common
 #endif
 #define regwhite               S_regwhite
 #define nextchar               S_nextchar
 #define dumpuntil              S_dumpuntil
+#define put_byte               S_put_byte
 #define scan_commit            S_scan_commit
+#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            S_study_chunk
 #define add_data               S_add_data
 #define re_croak2              S_re_croak2
 #define cache_re               S_cache_re
 #define reghop                 S_reghop
 #define reghopmaybe            S_reghopmaybe
+#define find_byclass           S_find_byclass
 #endif
 #if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
 #define debprof                        S_debprof
 #define more_xiv               S_more_xiv
 #define more_xnv               S_more_xnv
 #define more_xpv               S_more_xpv
+#define more_xpviv             S_more_xpviv
+#define more_xpvnv             S_more_xpvnv
+#define more_xpvcv             S_more_xpvcv
+#define more_xpvav             S_more_xpvav
+#define more_xpvhv             S_more_xpvhv
+#define more_xpvmg             S_more_xpvmg
+#define more_xpvlv             S_more_xpvlv
+#define more_xpvbm             S_more_xpvbm
 #define more_xrv               S_more_xrv
 #define new_xiv                        S_new_xiv
 #define new_xnv                        S_new_xnv
 #define new_xpv                        S_new_xpv
+#define new_xpviv              S_new_xpviv
+#define new_xpvnv              S_new_xpvnv
+#define new_xpvcv              S_new_xpvcv
+#define new_xpvav              S_new_xpvav
+#define new_xpvhv              S_new_xpvhv
+#define new_xpvmg              S_new_xpvmg
+#define new_xpvlv              S_new_xpvlv
+#define new_xpvbm              S_new_xpvbm
 #define new_xrv                        S_new_xrv
 #define del_xiv                        S_del_xiv
 #define del_xnv                        S_del_xnv
 #define del_xpv                        S_del_xpv
+#define del_xpviv              S_del_xpviv
+#define del_xpvnv              S_del_xpvnv
+#define del_xpvcv              S_del_xpvcv
+#define del_xpvav              S_del_xpvav
+#define del_xpvhv              S_del_xpvhv
+#define del_xpvmg              S_del_xpvmg
+#define del_xpvlv              S_del_xpvlv
+#define del_xpvbm              S_del_xpvbm
 #define del_xrv                        S_del_xrv
 #define sv_unglob              S_sv_unglob
 #define not_a_number           S_not_a_number
 #define visit                  S_visit
-#  if defined(PURIFY)
-#define reg_add                        S_reg_add
-#define reg_remove             S_reg_remove
-#  else
-#define my_safemalloc          S_my_safemalloc
-#  endif
-#define sv_add_backref         S_sv_add_backref
-#define sv_del_backref         S_sv_del_backref
 #  if defined(DEBUGGING)
 #define del_sv                 S_del_sv
 #  endif
 #define scan_trans             S_scan_trans
 #define scan_word              S_scan_word
 #define skipspace              S_skipspace
+#define swallow_bom            S_swallow_bom
 #define checkcomma             S_checkcomma
 #define force_ident            S_force_ident
 #define incline                        S_incline
 #define sublex_push            S_sublex_push
 #define sublex_start           S_sublex_start
 #define filter_gets            S_filter_gets
+#define find_in_my_stash       S_find_in_my_stash
 #define new_constant           S_new_constant
 #define ao                     S_ao
 #define depcom                 S_depcom
 #define incl_perldb            S_incl_perldb
+#if 0
 #define utf16_textfilter       S_utf16_textfilter
 #define utf16rev_textfilter    S_utf16rev_textfilter
+#endif
 #  if defined(CRIPPLED_CC)
 #define uni                    S_uni
 #  endif
-#  if defined(WIN32)
-#define win32_textfilter       S_win32_textfilter
+#  if defined(PERL_CR_FILTER)
+#define cr_textfilter          S_cr_textfilter
 #  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #define isa_lookup             S_isa_lookup
 #endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define modify_SV_attributes   S_modify_SV_attributes
-#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
 #  endif
 #endif
+#if defined(PERL_OBJECT)
+#endif
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
 #define ck_concat              Perl_ck_concat
 #define ck_eval                        Perl_ck_eval
 #define ck_exec                        Perl_ck_exec
 #define ck_exists              Perl_ck_exists
+#define ck_exit                        Perl_ck_exit
 #define ck_ftst                        Perl_ck_ftst
 #define ck_fun                 Perl_ck_fun
 #define ck_fun_locale          Perl_ck_fun_locale
 #define ck_glob                        Perl_ck_glob
 #define ck_grep                        Perl_ck_grep
 #define ck_index               Perl_ck_index
+#define ck_join                        Perl_ck_join
 #define ck_lengthconst         Perl_ck_lengthconst
 #define ck_lfun                        Perl_ck_lfun
 #define ck_listiob             Perl_ck_listiob
 #define ck_match               Perl_ck_match
 #define ck_method              Perl_ck_method
 #define ck_null                        Perl_ck_null
+#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
 #define pp_leaveeval           Perl_pp_leaveeval
 #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_leavewrite          Perl_pp_leavewrite
 #define pp_left_shift          Perl_pp_left_shift
 
 #else  /* PERL_IMPLICIT_CONTEXT */
 
+#if defined(PERL_IMPLICIT_SYS)
+#endif
+#if defined(USE_ITHREADS)
+#  if defined(PERL_IMPLICIT_SYS)
+#  endif
+#endif
+#if defined(MYMALLOC)
+#define malloced_size          Perl_malloced_size
+#endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
+#if defined(PERL_OBJECT)
+#ifndef __BORLANDC__
+#endif
+#endif
 #if defined(PERL_OBJECT)
+#else
 #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 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 apply_attrs_string(a,b,c,d)    Perl_apply_attrs_string(aTHX_ a,b,c,d)
+#define avhv_delete_ent(a,b,c,d)       Perl_avhv_delete_ent(aTHX_ a,b,c,d)
 #define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c)
 #define avhv_fetch_ent(a,b,c,d)        Perl_avhv_fetch_ent(aTHX_ a,b,c,d)
+#define avhv_store_ent(a,b,c,d)        Perl_avhv_store_ent(aTHX_ a,b,c,d)
 #define avhv_iternext(a)       Perl_avhv_iternext(aTHX_ a)
 #define avhv_iterval(a,b)      Perl_avhv_iterval(aTHX_ a,b)
 #define avhv_keys(a)           Perl_avhv_keys(aTHX_ a)
 #define av_clear(a)            Perl_av_clear(aTHX_ a)
+#define av_delete(a,b,c)       Perl_av_delete(aTHX_ a,b,c)
+#define av_exists(a,b)         Perl_av_exists(aTHX_ a,b)
 #define av_extend(a,b)         Perl_av_extend(aTHX_ a,b)
 #define av_fake(a,b)           Perl_av_fake(aTHX_ a,b)
 #define av_fetch(a,b,c)                Perl_av_fetch(aTHX_ a,b,c)
 #define get_ppaddr()           Perl_get_ppaddr(aTHX)
 #define cxinc()                        Perl_cxinc(aTHX)
 #define vdeb(a,b)              Perl_vdeb(aTHX_ a,b)
-#define deb_growlevel()                Perl_deb_growlevel(aTHX)
 #define debprofdump()          Perl_debprofdump(aTHX)
 #define debop(a)               Perl_debop(aTHX_ a)
 #define debstack()             Perl_debstack(aTHX)
 #define gv_check(a)            Perl_gv_check(aTHX_ a)
 #define gv_efullname(a,b)      Perl_gv_efullname(aTHX_ a,b)
 #define gv_efullname3(a,b,c)   Perl_gv_efullname3(aTHX_ a,b,c)
+#define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d)
 #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_fetchmethod(a,b)    Perl_gv_fetchmethod(aTHX_ a,b)
 #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_fullname3(a,b,c)    Perl_gv_fullname3(aTHX_ a,b,c)
+#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_stashpv(a,b)                Perl_gv_stashpv(aTHX_ a,b)
 #define gv_stashpvn(a,b,c)     Perl_gv_stashpvn(aTHX_ a,b,c)
 #define instr(a,b)             Perl_instr(aTHX_ a,b)
 #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 to_uni_upper_lc(a)     Perl_to_uni_upper_lc(aTHX_ a)
 #define to_uni_title_lc(a)     Perl_to_uni_title_lc(aTHX_ a)
 #define to_uni_lower_lc(a)     Perl_to_uni_lower_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_alnum(a)       Perl_is_utf8_alnum(aTHX_ a)
 #define is_utf8_alnumc(a)      Perl_is_utf8_alnumc(aTHX_ a)
 #define is_utf8_idfirst(a)     Perl_is_utf8_idfirst(aTHX_ a)
 #define linklist(a)            Perl_linklist(aTHX_ a)
 #define list(a)                        Perl_list(aTHX_ a)
 #define listkids(a)            Perl_listkids(aTHX_ a)
+#define vload_module(a,b,c,d)  Perl_vload_module(aTHX_ a,b,c,d)
 #define localize(a,b)          Perl_localize(aTHX_ a,b)
 #define looks_like_number(a)   Perl_looks_like_number(aTHX_ a)
 #define magic_clearenv(a,b)    Perl_magic_clearenv(aTHX_ a,b)
 #define magic_nextpack(a,b,c)  Perl_magic_nextpack(aTHX_ a,b,c)
 #define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b)
 #define magic_regdatum_get(a,b)        Perl_magic_regdatum_get(aTHX_ a,b)
+#define magic_regdatum_set(a,b)        Perl_magic_regdatum_set(aTHX_ a,b)
 #define magic_set(a,b)         Perl_magic_set(aTHX_ a,b)
 #define magic_setamagic(a,b)   Perl_magic_setamagic(aTHX_ a,b)
 #define magic_setarylen(a,b)   Perl_magic_setarylen(aTHX_ a,b)
 #define magic_sizepack(a,b)    Perl_magic_sizepack(aTHX_ a,b)
 #define magic_wipepack(a,b)    Perl_magic_wipepack(aTHX_ a,b)
 #define magicname(a,b,c)       Perl_magicname(aTHX_ a,b,c)
-#if defined(MYMALLOC)
-#define malloced_size          Perl_malloced_size
-#endif
 #define markstack_grow()       Perl_markstack_grow(aTHX)
 #if defined(USE_LOCALE_COLLATE)
 #define mem_collxfrm(a,b,c)    Perl_mem_collxfrm(aTHX_ a,b,c)
 #endif
-#define mess(a,b)              Perl_mess(aTHX_ a,b)
+#define vmess(a,b)             Perl_vmess(aTHX_ a,b)
+#define qerror(a)              Perl_qerror(aTHX_ a)
 #define mg_clear(a)            Perl_mg_clear(aTHX_ a)
 #define mg_copy(a,b,c,d)       Perl_mg_copy(aTHX_ a,b,c,d)
 #define mg_find(a,b)           Perl_mg_find(aTHX_ a,b)
 #define mg_set(a)              Perl_mg_set(aTHX_ a)
 #define mg_size(a)             Perl_mg_size(aTHX_ a)
 #define mod(a,b)               Perl_mod(aTHX_ a,b)
+#define mode_from_discipline(a)        Perl_mode_from_discipline(aTHX_ a)
 #define moreswitches(a)                Perl_moreswitches(aTHX_ a)
 #define my(a)                  Perl_my(aTHX_ a)
 #define my_atof(a)             Perl_my_atof(aTHX_ a)
 #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-#define my_bcopy(a,b,c)                Perl_my_bcopy(aTHX_ a,b,c)
+#define my_bcopy               Perl_my_bcopy
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero(a,b)          Perl_my_bzero(aTHX_ a,b)
+#define my_bzero               Perl_my_bzero
 #endif
 #define my_exit(a)             Perl_my_exit(aTHX_ a)
 #define my_failure_exit()      Perl_my_failure_exit(aTHX)
 #define my_fflush_all()                Perl_my_fflush_all(aTHX)
 #define my_lstat()             Perl_my_lstat(aTHX)
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp(a,b,c)       Perl_my_memcmp(aTHX_ a,b,c)
+#define my_memcmp              Perl_my_memcmp
 #endif
 #if !defined(HAS_MEMSET)
-#define my_memset(a,b,c)       Perl_my_memset(aTHX_ a,b,c)
+#define my_memset              Perl_my_memset
 #endif
 #if !defined(PERL_OBJECT)
 #define my_pclose(a)           Perl_my_pclose(aTHX_ a)
 #define newHVhv(a)             Perl_newHVhv(aTHX_ a)
 #define newIO()                        Perl_newIO(aTHX)
 #define newLISTOP(a,b,c,d)     Perl_newLISTOP(aTHX_ a,b,c,d)
+#define newPADOP(a,b,c)                Perl_newPADOP(aTHX_ a,b,c)
 #define newPMOP(a,b)           Perl_newPMOP(aTHX_ a,b)
 #define newPVOP(a,b,c)         Perl_newPVOP(aTHX_ a,b,c)
 #define newRV(a)               Perl_newRV(aTHX_ a)
 #define newSVREF(a)            Perl_newSVREF(aTHX_ a)
 #define newSVOP(a,b,c)         Perl_newSVOP(aTHX_ a,b,c)
 #define newSViv(a)             Perl_newSViv(aTHX_ a)
+#define newSVuv(a)             Perl_newSVuv(aTHX_ a)
 #define newSVnv(a)             Perl_newSVnv(aTHX_ a)
 #define newSVpv(a,b)           Perl_newSVpv(aTHX_ a,b)
 #define newSVpvn(a,b)          Perl_newSVpvn(aTHX_ a,b)
 #define pad_swipe(a)           Perl_pad_swipe(aTHX_ a)
 #define peep(a)                        Perl_peep(aTHX_ a)
 #if defined(PERL_OBJECT)
-#else
+#endif
 #if defined(USE_THREADS)
 #define new_struct_thread(a)   Perl_new_struct_thread(aTHX_ a)
 #endif
-#endif
 #define call_atexit(a,b)       Perl_call_atexit(aTHX_ a,b)
 #define call_argv(a,b,c)       Perl_call_argv(aTHX_ a,b,c)
 #define call_method(a,b)       Perl_call_method(aTHX_ a,b)
 #define save_clearsv(a)                Perl_save_clearsv(aTHX_ a)
 #define save_delete(a,b,c)     Perl_save_delete(aTHX_ a,b,c)
 #define save_destructor(a,b)   Perl_save_destructor(aTHX_ a,b)
+#define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b)
 #define save_freesv(a)         Perl_save_freesv(aTHX_ a)
 #define save_freeop(a)         Perl_save_freeop(aTHX_ a)
 #define save_freepv(a)         Perl_save_freepv(aTHX_ a)
 #define save_generic_svref(a)  Perl_save_generic_svref(aTHX_ a)
+#define save_generic_pvref(a)  Perl_save_generic_pvref(aTHX_ a)
 #define save_gp(a,b)           Perl_save_gp(aTHX_ a,b)
 #define save_hash(a)           Perl_save_hash(aTHX_ a)
 #define save_helem(a,b,c)      Perl_save_helem(aTHX_ a,b,c)
 #define save_hptr(a)           Perl_save_hptr(aTHX_ a)
 #define save_I16(a)            Perl_save_I16(aTHX_ a)
 #define save_I32(a)            Perl_save_I32(aTHX_ a)
+#define save_I8(a)             Perl_save_I8(aTHX_ a)
 #define save_int(a)            Perl_save_int(aTHX_ a)
 #define save_item(a)           Perl_save_item(aTHX_ a)
 #define save_iv(a)             Perl_save_iv(aTHX_ a)
 #define save_op()              Perl_save_op(aTHX)
 #define save_scalar(a)         Perl_save_scalar(aTHX_ a)
 #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_2mortal(a)          Perl_sv_2mortal(aTHX_ a)
 #define sv_2nv(a)              Perl_sv_2nv(aTHX_ a)
 #define sv_2pv(a,b)            Perl_sv_2pv(aTHX_ a,b)
+#define sv_2pvutf8(a,b)                Perl_sv_2pvutf8(aTHX_ a,b)
+#define sv_2pvbyte(a,b)                Perl_sv_2pvbyte(aTHX_ a,b)
 #define sv_2uv(a)              Perl_sv_2uv(aTHX_ a)
 #define sv_iv(a)               Perl_sv_iv(aTHX_ a)
 #define sv_uv(a)               Perl_sv_uv(aTHX_ a)
 #define sv_nv(a)               Perl_sv_nv(aTHX_ a)
 #define sv_pvn(a,b)            Perl_sv_pvn(aTHX_ a,b)
+#define sv_pvutf8n(a,b)                Perl_sv_pvutf8n(aTHX_ a,b)
+#define sv_pvbyten(a,b)                Perl_sv_pvbyten(aTHX_ a,b)
 #define sv_true(a)             Perl_sv_true(aTHX_ a)
 #define sv_add_arena(a,b,c)    Perl_sv_add_arena(aTHX_ a,b,c)
 #define sv_backoff(a)          Perl_sv_backoff(aTHX_ a)
 #define sv_pos_u2b(a,b,c)      Perl_sv_pos_u2b(aTHX_ a,b,c)
 #define sv_pos_b2u(a,b)                Perl_sv_pos_b2u(aTHX_ a,b)
 #define sv_pvn_force(a,b)      Perl_sv_pvn_force(aTHX_ a,b)
+#define sv_pvutf8n_force(a,b)  Perl_sv_pvutf8n_force(aTHX_ a,b)
+#define sv_pvbyten_force(a,b)  Perl_sv_pvbyten_force(aTHX_ a,b)
 #define sv_reftype(a,b)                Perl_sv_reftype(aTHX_ a,b)
 #define sv_replace(a,b)                Perl_sv_replace(aTHX_ a,b)
 #define sv_report_used()       Perl_sv_report_used(aTHX)
 #define sv_usepvn(a,b,c)       Perl_sv_usepvn(aTHX_ a,b,c)
 #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 swash_init(a,b,c,d,e)  Perl_swash_init(aTHX_ a,b,c,d,e)
 #define swash_fetch(a,b)       Perl_swash_fetch(aTHX_ a,b)
 #define taint_env()            Perl_taint_env(aTHX)
 #define unsharepvn(a,b,c)      Perl_unsharepvn(aTHX_ a,b,c)
 #define unshare_hek(a)         Perl_unshare_hek(aTHX_ a)
 #define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
-#define utf16_to_utf8(a,b,c)   Perl_utf16_to_utf8(aTHX_ a,b,c)
-#define utf16_to_utf8_reversed(a,b,c)  Perl_utf16_to_utf8_reversed(aTHX_ a,b,c)
+#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_uv(a,b)                Perl_utf8_to_uv(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_simple(a,b) Perl_utf8_to_uv_simple(aTHX_ a,b)
+#define utf8_to_uv(a,b,c,d)    Perl_utf8_to_uv(aTHX_ a,b,c,d)
 #define uv_to_utf8(a,b)                Perl_uv_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 report_evil_fh(a,b,c)  Perl_report_evil_fh(aTHX_ a,b,c)
+#define report_uninit()                Perl_report_uninit(aTHX)
 #define vwarn(a,b)             Perl_vwarn(aTHX_ a,b)
 #define vwarner(a,b,c)         Perl_vwarner(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)
+#ifdef USE_PURE_BISON
+#define yylex_r(a,b)           Perl_yylex_r(aTHX_ a,b)
 #define yylex(a,b)             Perl_yylex(aTHX_ a,b)
 #else
 #define yylex()                        Perl_yylex(aTHX)
 #define yywarn(a)              Perl_yywarn(aTHX_ a)
 #if defined(MYMALLOC)
 #define dump_mstats(a)         Perl_dump_mstats(aTHX_ a)
+#define get_mstats(a,b,c)      Perl_get_mstats(aTHX_ a,b,c)
 #endif
 #define safesysmalloc          Perl_safesysmalloc
 #define safesyscalloc          Perl_safesyscalloc
 #endif
 #define runops_standard()      Perl_runops_standard(aTHX)
 #define runops_debug()         Perl_runops_debug(aTHX)
+#if defined(USE_THREADS)
+#define sv_lock(a)             Perl_sv_lock(aTHX_ a)
+#endif
 #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 do_pmop_dump(a,b,c)    Perl_do_pmop_dump(aTHX_ a,b,c)
 #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 vdefault_protect(a,b,c)        Perl_vdefault_protect(aTHX_ a,b,c)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vdefault_protect(a,b,c,d)      Perl_vdefault_protect(aTHX_ a,b,c,d)
+#endif
 #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_pv(a)               Perl_sv_pv(aTHX_ a)
+#define sv_pvutf8(a)           Perl_sv_pvutf8(aTHX_ a)
+#define sv_pvbyte(a)           Perl_sv_pvbyte(aTHX_ a)
+#define sv_utf8_upgrade(a)     Perl_sv_utf8_upgrade(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_add_backref(a,b)    Perl_sv_add_backref(aTHX_ a,b)
+#define sv_del_backref(a)      Perl_sv_del_backref(aTHX_ a)
 #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 newMYSUB(a,b,c,d,e)    Perl_newMYSUB(aTHX_ a,b,c,d,e)
 #define my_attrs(a,b)          Perl_my_attrs(aTHX_ a,b)
 #define boot_core_xsutils()    Perl_boot_core_xsutils(aTHX)
+#if defined(USE_ITHREADS)
+#define cx_dup(a,b,c)          Perl_cx_dup(aTHX_ a,b,c)
+#define si_dup(a)              Perl_si_dup(aTHX_ a)
+#define ss_dup(a)              Perl_ss_dup(aTHX_ a)
+#define any_dup(a,b)           Perl_any_dup(aTHX_ a,b)
+#define he_dup(a,b)            Perl_he_dup(aTHX_ a,b)
+#define re_dup(a)              Perl_re_dup(aTHX_ a)
+#define fp_dup(a,b)            Perl_fp_dup(aTHX_ a,b)
+#define dirp_dup(a)            Perl_dirp_dup(aTHX_ a)
+#define gp_dup(a)              Perl_gp_dup(aTHX_ a)
+#define mg_dup(a)              Perl_mg_dup(aTHX_ a)
+#define sv_dup(a)              Perl_sv_dup(aTHX_ a)
+#if defined(HAVE_INTERP_INTERN)
+#define sys_intern_dup(a,b)    Perl_sys_intern_dup(aTHX_ a,b)
+#endif
+#define ptr_table_new()                Perl_ptr_table_new(aTHX)
+#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)
+#endif
+#if defined(HAVE_INTERP_INTERN)
+#define sys_intern_clear()     Perl_sys_intern_clear(aTHX)
+#define sys_intern_init()      Perl_sys_intern_init(aTHX)
+#endif
 #if defined(PERL_OBJECT)
+#else
 #endif
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define avhv_index_sv(a)       S_avhv_index_sv(aTHX_ a)
+#define avhv_index(a,b,c)      S_avhv_index(aTHX_ a,b,c)
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#define do_trans_CC_simple(a)  S_do_trans_CC_simple(aTHX_ a)
-#define do_trans_CC_count(a)   S_do_trans_CC_count(aTHX_ a)
-#define do_trans_CC_complex(a) S_do_trans_CC_complex(aTHX_ a)
-#define do_trans_UU_simple(a)  S_do_trans_UU_simple(aTHX_ a)
-#define do_trans_UU_count(a)   S_do_trans_UU_count(aTHX_ a)
-#define do_trans_UU_complex(a) S_do_trans_UU_complex(aTHX_ a)
-#define do_trans_UC_simple(a)  S_do_trans_UC_simple(aTHX_ a)
-#define do_trans_CU_simple(a)  S_do_trans_CU_simple(aTHX_ a)
-#define do_trans_UC_trivial(a) S_do_trans_UC_trivial(aTHX_ a)
-#define do_trans_CU_trivial(a) S_do_trans_CU_trivial(aTHX_ a)
+#define do_trans_simple(a)     S_do_trans_simple(aTHX_ a)
+#define do_trans_count(a)      S_do_trans_count(aTHX_ a)
+#define do_trans_complex(a)    S_do_trans_complex(aTHX_ a)
+#define do_trans_simple_utf8(a)        S_do_trans_simple_utf8(aTHX_ a)
+#define do_trans_count_utf8(a) S_do_trans_count_utf8(aTHX_ a)
+#define do_trans_complex_utf8(a)       S_do_trans_complex_utf8(aTHX_ a)
 #endif
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #define gv_init_sv(a,b)                S_gv_init_sv(aTHX_ a,b)
 #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 pad_findlex(a,b,c,d,e,f,g)     S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
 #define newDEFSVOP()           S_newDEFSVOP(aTHX)
 #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 is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
 #define gv_ename(a)            S_gv_ename(aTHX_ a)
+#define cv_dump(a)             S_cv_dump(aTHX_ a)
 #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)
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #define find_beginning()       S_find_beginning(aTHX)
 #define forbid_setid(a)                S_forbid_setid(aTHX_ a)
-#define incpush(a,b)           S_incpush(aTHX_ a,b)
+#define incpush(a,b,c)         S_incpush(aTHX_ a,b,c)
 #define init_interp()          S_init_interp(aTHX)
 #define init_ids()             S_init_ids(aTHX)
 #define init_lexer()           S_init_lexer(aTHX)
 #  if defined(IAMSUID)
 #define fd_on_nosuid_fs(a)     S_fd_on_nosuid_fs(aTHX_ a)
 #  endif
-#define parse_body(a)          S_parse_body(aTHX_ a)
+#define parse_body(a,b)                S_parse_body(aTHX_ a,b)
 #define run_body(a)            S_run_body(aTHX_ a)
-#define call_body(a)           S_call_body(aTHX_ a)
-#define call_xbody(a,b)                S_call_xbody(aTHX_ a,b)
+#define call_body(a,b)         S_call_body(aTHX_ a,b)
 #define call_list_body(a)      S_call_list_body(aTHX_ a)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vparse_body(a)         S_vparse_body(aTHX_ a)
+#define vrun_body(a)           S_vrun_body(aTHX_ a)
+#define vcall_body(a)          S_vcall_body(aTHX_ a)
+#define vcall_list_body(a)     S_vcall_list_body(aTHX_ a)
+#endif
 #  if defined(USE_THREADS)
 #define init_main_thread()     S_init_main_thread(aTHX)
 #  endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define docatch(a)             S_docatch(aTHX_ a)
-#define docatch_body(a)                S_docatch_body(aTHX_ a)
+#define docatch_body()         S_docatch_body(aTHX)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vdocatch_body(a)       S_vdocatch_body(aTHX_ a)
+#endif
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define dopoptoeval(a)         S_dopoptoeval(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 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)
 #define qsortsv(a,b,c)         S_qsortsv(aTHX_ a,b,c)
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define do_maybe_phash(a,b,c,d,e)      S_do_maybe_phash(aTHX_ a,b,c,d,e)
+#define do_oddball(a,b,c)      S_do_oddball(aTHX_ a,b,c)
 #define get_db_sub(a,b)                S_get_db_sub(aTHX_ a,b)
 #define method_common(a,b)     S_method_common(aTHX_ a,b)
 #endif
 #define regwhite(a,b)          S_regwhite(aTHX_ a,b)
 #define nextchar()             S_nextchar(aTHX)
 #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 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_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 cache_re(a)            S_cache_re(aTHX_ a)
 #define reghop(a,b)            S_reghop(aTHX_ a,b)
 #define reghopmaybe(a,b)       S_reghopmaybe(aTHX_ a,b)
+#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)
 #define debprof(a)             S_debprof(aTHX_ a)
 #define more_xiv()             S_more_xiv(aTHX)
 #define more_xnv()             S_more_xnv(aTHX)
 #define more_xpv()             S_more_xpv(aTHX)
+#define more_xpviv()           S_more_xpviv(aTHX)
+#define more_xpvnv()           S_more_xpvnv(aTHX)
+#define more_xpvcv()           S_more_xpvcv(aTHX)
+#define more_xpvav()           S_more_xpvav(aTHX)
+#define more_xpvhv()           S_more_xpvhv(aTHX)
+#define more_xpvmg()           S_more_xpvmg(aTHX)
+#define more_xpvlv()           S_more_xpvlv(aTHX)
+#define more_xpvbm()           S_more_xpvbm(aTHX)
 #define more_xrv()             S_more_xrv(aTHX)
 #define new_xiv()              S_new_xiv(aTHX)
 #define new_xnv()              S_new_xnv(aTHX)
 #define new_xpv()              S_new_xpv(aTHX)
+#define new_xpviv()            S_new_xpviv(aTHX)
+#define new_xpvnv()            S_new_xpvnv(aTHX)
+#define new_xpvcv()            S_new_xpvcv(aTHX)
+#define new_xpvav()            S_new_xpvav(aTHX)
+#define new_xpvhv()            S_new_xpvhv(aTHX)
+#define new_xpvmg()            S_new_xpvmg(aTHX)
+#define new_xpvlv()            S_new_xpvlv(aTHX)
+#define new_xpvbm()            S_new_xpvbm(aTHX)
 #define new_xrv()              S_new_xrv(aTHX)
 #define del_xiv(a)             S_del_xiv(aTHX_ a)
 #define del_xnv(a)             S_del_xnv(aTHX_ a)
 #define del_xpv(a)             S_del_xpv(aTHX_ a)
+#define del_xpviv(a)           S_del_xpviv(aTHX_ a)
+#define del_xpvnv(a)           S_del_xpvnv(aTHX_ a)
+#define del_xpvcv(a)           S_del_xpvcv(aTHX_ a)
+#define del_xpvav(a)           S_del_xpvav(aTHX_ a)
+#define del_xpvhv(a)           S_del_xpvhv(aTHX_ a)
+#define del_xpvmg(a)           S_del_xpvmg(aTHX_ a)
+#define del_xpvlv(a)           S_del_xpvlv(aTHX_ a)
+#define del_xpvbm(a)           S_del_xpvbm(aTHX_ a)
 #define del_xrv(a)             S_del_xrv(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)               S_visit(aTHX_ a)
-#  if defined(PURIFY)
-#define reg_add(a)             S_reg_add(aTHX_ a)
-#define reg_remove(a)          S_reg_remove(aTHX_ a)
-#  else
-#define my_safemalloc          S_my_safemalloc
-#  endif
-#define sv_add_backref(a,b)    S_sv_add_backref(aTHX_ a,b)
-#define sv_del_backref(a)      S_sv_del_backref(aTHX_ a)
 #  if defined(DEBUGGING)
 #define del_sv(a)              S_del_sv(aTHX_ a)
 #  endif
 #define scan_trans(a)          S_scan_trans(aTHX_ a)
 #define scan_word(a,b,c,d,e)   S_scan_word(aTHX_ a,b,c,d,e)
 #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 force_ident(a,b)       S_force_ident(aTHX_ a,b)
 #define incline(a)             S_incline(aTHX_ a)
 #define sublex_push()          S_sublex_push(aTHX)
 #define sublex_start()         S_sublex_start(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 ao(a)                  S_ao(aTHX_ a)
 #define depcom()               S_depcom(aTHX)
 #define incl_perldb()          S_incl_perldb(aTHX)
+#if 0
 #define utf16_textfilter(a,b,c)        S_utf16_textfilter(aTHX_ a,b,c)
 #define utf16rev_textfilter(a,b,c)     S_utf16rev_textfilter(aTHX_ a,b,c)
+#endif
 #  if defined(CRIPPLED_CC)
 #define uni(a,b)               S_uni(aTHX_ a,b)
 #  endif
-#  if defined(WIN32)
-#define win32_textfilter(a,b,c)        S_win32_textfilter(aTHX_ a,b,c)
+#  if defined(PERL_CR_FILTER)
+#define cr_textfilter(a,b,c)   S_cr_textfilter(aTHX_ a,b,c)
 #  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #define isa_lookup(a,b,c,d)    S_isa_lookup(aTHX_ a,b,c,d)
 #endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define modify_SV_attributes(a,b,c,d)  S_modify_SV_attributes(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)
 #  endif
 #endif
+#if defined(PERL_OBJECT)
+#endif
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
 #define ck_concat(a)           Perl_ck_concat(aTHX_ a)
 #define ck_eval(a)             Perl_ck_eval(aTHX_ a)
 #define ck_exec(a)             Perl_ck_exec(aTHX_ a)
 #define ck_exists(a)           Perl_ck_exists(aTHX_ a)
+#define ck_exit(a)             Perl_ck_exit(aTHX_ a)
 #define ck_ftst(a)             Perl_ck_ftst(aTHX_ a)
 #define ck_fun(a)              Perl_ck_fun(aTHX_ a)
 #define ck_fun_locale(a)       Perl_ck_fun_locale(aTHX_ a)
 #define ck_glob(a)             Perl_ck_glob(aTHX_ a)
 #define ck_grep(a)             Perl_ck_grep(aTHX_ a)
 #define ck_index(a)            Perl_ck_index(aTHX_ a)
+#define ck_join(a)             Perl_ck_join(aTHX_ a)
 #define ck_lengthconst(a)      Perl_ck_lengthconst(aTHX_ a)
 #define ck_lfun(a)             Perl_ck_lfun(aTHX_ a)
 #define ck_listiob(a)          Perl_ck_listiob(aTHX_ a)
 #define ck_match(a)            Perl_ck_match(aTHX_ a)
 #define ck_method(a)           Perl_ck_method(aTHX_ a)
 #define ck_null(a)             Perl_ck_null(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 pp_leaveeval()         Perl_pp_leaveeval(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_leavewrite()                Perl_pp_leavewrite(aTHX)
 #define pp_left_shift()                Perl_pp_left_shift(aTHX)
 #endif /* PERL_IMPLICIT_CONTEXT */
 #else  /* PERL_OBJECT */
 
+#if defined(PERL_IMPLICIT_SYS)
+#endif
+#if defined(USE_ITHREADS)
+#  if defined(PERL_IMPLICIT_SYS)
+#  endif
+#endif
+#if defined(MYMALLOC)
+#define malloc                 Perl_malloc
+#define calloc                 Perl_calloc
+#define realloc                        Perl_realloc
+#define mfree                  Perl_mfree
+#define malloced_size          Perl_malloced_size
+#endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
+#if defined(PERL_OBJECT)
+#ifndef __BORLANDC__
+#endif
+#endif
 #if defined(PERL_OBJECT)
+#else
 #endif
 #define Perl_amagic_call       CPerlObj::Perl_amagic_call
 #define amagic_call            Perl_amagic_call
 #define append_list            Perl_append_list
 #define Perl_apply             CPerlObj::Perl_apply
 #define apply                  Perl_apply
+#define Perl_apply_attrs_string        CPerlObj::Perl_apply_attrs_string
+#define apply_attrs_string     Perl_apply_attrs_string
+#define Perl_avhv_delete_ent   CPerlObj::Perl_avhv_delete_ent
+#define avhv_delete_ent                Perl_avhv_delete_ent
 #define Perl_avhv_exists_ent   CPerlObj::Perl_avhv_exists_ent
 #define avhv_exists_ent                Perl_avhv_exists_ent
 #define Perl_avhv_fetch_ent    CPerlObj::Perl_avhv_fetch_ent
 #define avhv_fetch_ent         Perl_avhv_fetch_ent
+#define Perl_avhv_store_ent    CPerlObj::Perl_avhv_store_ent
+#define avhv_store_ent         Perl_avhv_store_ent
 #define Perl_avhv_iternext     CPerlObj::Perl_avhv_iternext
 #define avhv_iternext          Perl_avhv_iternext
 #define Perl_avhv_iterval      CPerlObj::Perl_avhv_iterval
 #define avhv_keys              Perl_avhv_keys
 #define Perl_av_clear          CPerlObj::Perl_av_clear
 #define av_clear               Perl_av_clear
+#define Perl_av_delete         CPerlObj::Perl_av_delete
+#define av_delete              Perl_av_delete
+#define Perl_av_exists         CPerlObj::Perl_av_exists
+#define av_exists              Perl_av_exists
 #define Perl_av_extend         CPerlObj::Perl_av_extend
 #define av_extend              Perl_av_extend
 #define Perl_av_fake           CPerlObj::Perl_av_fake
 #define deb_nocontext          Perl_deb_nocontext
 #define Perl_form_nocontext    CPerlObj::Perl_form_nocontext
 #define form_nocontext         Perl_form_nocontext
+#define Perl_load_module_nocontext     CPerlObj::Perl_load_module_nocontext
+#define load_module_nocontext  Perl_load_module_nocontext
+#define Perl_mess_nocontext    CPerlObj::Perl_mess_nocontext
+#define mess_nocontext         Perl_mess_nocontext
 #define Perl_warn_nocontext    CPerlObj::Perl_warn_nocontext
 #define warn_nocontext         Perl_warn_nocontext
 #define Perl_warner_nocontext  CPerlObj::Perl_warner_nocontext
 #define deb                    Perl_deb
 #define Perl_vdeb              CPerlObj::Perl_vdeb
 #define vdeb                   Perl_vdeb
-#define Perl_deb_growlevel     CPerlObj::Perl_deb_growlevel
-#define deb_growlevel          Perl_deb_growlevel
 #define Perl_debprofdump       CPerlObj::Perl_debprofdump
 #define debprofdump            Perl_debprofdump
 #define Perl_debop             CPerlObj::Perl_debop
 #define gv_efullname           Perl_gv_efullname
 #define Perl_gv_efullname3     CPerlObj::Perl_gv_efullname3
 #define gv_efullname3          Perl_gv_efullname3
+#define Perl_gv_efullname4     CPerlObj::Perl_gv_efullname4
+#define gv_efullname4          Perl_gv_efullname4
 #define Perl_gv_fetchfile      CPerlObj::Perl_gv_fetchfile
 #define gv_fetchfile           Perl_gv_fetchfile
 #define Perl_gv_fetchmeth      CPerlObj::Perl_gv_fetchmeth
 #define gv_fullname            Perl_gv_fullname
 #define Perl_gv_fullname3      CPerlObj::Perl_gv_fullname3
 #define gv_fullname3           Perl_gv_fullname3
+#define Perl_gv_fullname4      CPerlObj::Perl_gv_fullname4
+#define gv_fullname4           Perl_gv_fullname4
 #define Perl_gv_init           CPerlObj::Perl_gv_init
 #define gv_init                        Perl_gv_init
 #define Perl_gv_stashpv                CPerlObj::Perl_gv_stashpv
 #define io_close               Perl_io_close
 #define Perl_invert            CPerlObj::Perl_invert
 #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 to_uni_title_lc                Perl_to_uni_title_lc
 #define Perl_to_uni_lower_lc   CPerlObj::Perl_to_uni_lower_lc
 #define to_uni_lower_lc                Perl_to_uni_lower_lc
+#define Perl_is_utf8_char      CPerlObj::Perl_is_utf8_char
+#define is_utf8_char           Perl_is_utf8_char
+#define Perl_is_utf8_string    CPerlObj::Perl_is_utf8_string
+#define is_utf8_string         Perl_is_utf8_string
 #define Perl_is_utf8_alnum     CPerlObj::Perl_is_utf8_alnum
 #define is_utf8_alnum          Perl_is_utf8_alnum
 #define Perl_is_utf8_alnumc    CPerlObj::Perl_is_utf8_alnumc
 #define list                   Perl_list
 #define Perl_listkids          CPerlObj::Perl_listkids
 #define listkids               Perl_listkids
+#define Perl_load_module       CPerlObj::Perl_load_module
+#define load_module            Perl_load_module
+#define Perl_vload_module      CPerlObj::Perl_vload_module
+#define vload_module           Perl_vload_module
 #define Perl_localize          CPerlObj::Perl_localize
 #define localize               Perl_localize
 #define Perl_looks_like_number CPerlObj::Perl_looks_like_number
 #define magic_regdata_cnt      Perl_magic_regdata_cnt
 #define Perl_magic_regdatum_get        CPerlObj::Perl_magic_regdatum_get
 #define magic_regdatum_get     Perl_magic_regdatum_get
+#define Perl_magic_regdatum_set        CPerlObj::Perl_magic_regdatum_set
+#define magic_regdatum_set     Perl_magic_regdatum_set
 #define Perl_magic_set         CPerlObj::Perl_magic_set
 #define magic_set              Perl_magic_set
 #define Perl_magic_setamagic   CPerlObj::Perl_magic_setamagic
 #define magic_wipepack         Perl_magic_wipepack
 #define Perl_magicname         CPerlObj::Perl_magicname
 #define magicname              Perl_magicname
-#if defined(MYMALLOC)
-#define Perl_malloced_size     CPerlObj::Perl_malloced_size
-#define malloced_size          Perl_malloced_size
-#endif
 #define Perl_markstack_grow    CPerlObj::Perl_markstack_grow
 #define markstack_grow         Perl_markstack_grow
 #if defined(USE_LOCALE_COLLATE)
 #endif
 #define Perl_mess              CPerlObj::Perl_mess
 #define mess                   Perl_mess
+#define Perl_vmess             CPerlObj::Perl_vmess
+#define vmess                  Perl_vmess
+#define Perl_qerror            CPerlObj::Perl_qerror
+#define qerror                 Perl_qerror
 #define Perl_mg_clear          CPerlObj::Perl_mg_clear
 #define mg_clear               Perl_mg_clear
 #define Perl_mg_copy           CPerlObj::Perl_mg_copy
 #define mg_size                        Perl_mg_size
 #define Perl_mod               CPerlObj::Perl_mod
 #define mod                    Perl_mod
+#define Perl_mode_from_discipline      CPerlObj::Perl_mode_from_discipline
+#define mode_from_discipline   Perl_mode_from_discipline
 #define Perl_moreswitches      CPerlObj::Perl_moreswitches
 #define moreswitches           Perl_moreswitches
 #define Perl_my                        CPerlObj::Perl_my
 #define newIO                  Perl_newIO
 #define Perl_newLISTOP         CPerlObj::Perl_newLISTOP
 #define newLISTOP              Perl_newLISTOP
+#define Perl_newPADOP          CPerlObj::Perl_newPADOP
+#define newPADOP               Perl_newPADOP
 #define Perl_newPMOP           CPerlObj::Perl_newPMOP
 #define newPMOP                        Perl_newPMOP
 #define Perl_newPVOP           CPerlObj::Perl_newPVOP
 #define newSVOP                        Perl_newSVOP
 #define Perl_newSViv           CPerlObj::Perl_newSViv
 #define newSViv                        Perl_newSViv
+#define Perl_newSVuv           CPerlObj::Perl_newSVuv
+#define newSVuv                        Perl_newSVuv
 #define Perl_newSVnv           CPerlObj::Perl_newSVnv
 #define newSVnv                        Perl_newSVnv
 #define Perl_newSVpv           CPerlObj::Perl_newSVpv
 #define Perl_peep              CPerlObj::Perl_peep
 #define peep                   Perl_peep
 #if defined(PERL_OBJECT)
-#define perl_construct         CPerlObj::perl_construct
-#define perl_destruct          CPerlObj::perl_destruct
-#define perl_free              CPerlObj::perl_free
-#define perl_run               CPerlObj::perl_run
-#define perl_parse             CPerlObj::perl_parse
-#else
-#define perl_alloc             CPerlObj::perl_alloc
-#define perl_construct         CPerlObj::perl_construct
-#define perl_destruct          CPerlObj::perl_destruct
-#define perl_free              CPerlObj::perl_free
-#define perl_run               CPerlObj::perl_run
-#define perl_parse             CPerlObj::perl_parse
+#define Perl_construct         CPerlObj::Perl_construct
+#define Perl_destruct          CPerlObj::Perl_destruct
+#define Perl_free              CPerlObj::Perl_free
+#define Perl_run               CPerlObj::Perl_run
+#define Perl_parse             CPerlObj::Perl_parse
+#endif
 #if defined(USE_THREADS)
 #define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread
 #define new_struct_thread      Perl_new_struct_thread
 #endif
-#endif
 #define Perl_call_atexit       CPerlObj::Perl_call_atexit
 #define call_atexit            Perl_call_atexit
 #define Perl_call_argv         CPerlObj::Perl_call_argv
 #define save_delete            Perl_save_delete
 #define Perl_save_destructor   CPerlObj::Perl_save_destructor
 #define save_destructor                Perl_save_destructor
+#define Perl_save_destructor_x CPerlObj::Perl_save_destructor_x
+#define save_destructor_x      Perl_save_destructor_x
 #define Perl_save_freesv       CPerlObj::Perl_save_freesv
 #define save_freesv            Perl_save_freesv
 #define Perl_save_freeop       CPerlObj::Perl_save_freeop
 #define save_freepv            Perl_save_freepv
 #define Perl_save_generic_svref        CPerlObj::Perl_save_generic_svref
 #define save_generic_svref     Perl_save_generic_svref
+#define Perl_save_generic_pvref        CPerlObj::Perl_save_generic_pvref
+#define save_generic_pvref     Perl_save_generic_pvref
 #define Perl_save_gp           CPerlObj::Perl_save_gp
 #define save_gp                        Perl_save_gp
 #define Perl_save_hash         CPerlObj::Perl_save_hash
 #define save_I16               Perl_save_I16
 #define Perl_save_I32          CPerlObj::Perl_save_I32
 #define save_I32               Perl_save_I32
+#define Perl_save_I8           CPerlObj::Perl_save_I8
+#define save_I8                        Perl_save_I8
 #define Perl_save_int          CPerlObj::Perl_save_int
 #define save_int               Perl_save_int
 #define Perl_save_item         CPerlObj::Perl_save_item
 #define save_scalar            Perl_save_scalar
 #define Perl_save_pptr         CPerlObj::Perl_save_pptr
 #define save_pptr              Perl_save_pptr
+#define Perl_save_vptr         CPerlObj::Perl_save_vptr
+#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_2nv                 Perl_sv_2nv
 #define Perl_sv_2pv            CPerlObj::Perl_sv_2pv
 #define sv_2pv                 Perl_sv_2pv
+#define Perl_sv_2pvutf8                CPerlObj::Perl_sv_2pvutf8
+#define sv_2pvutf8             Perl_sv_2pvutf8
+#define Perl_sv_2pvbyte                CPerlObj::Perl_sv_2pvbyte
+#define sv_2pvbyte             Perl_sv_2pvbyte
 #define Perl_sv_2uv            CPerlObj::Perl_sv_2uv
 #define sv_2uv                 Perl_sv_2uv
 #define Perl_sv_iv             CPerlObj::Perl_sv_iv
 #define sv_nv                  Perl_sv_nv
 #define Perl_sv_pvn            CPerlObj::Perl_sv_pvn
 #define sv_pvn                 Perl_sv_pvn
+#define Perl_sv_pvutf8n                CPerlObj::Perl_sv_pvutf8n
+#define sv_pvutf8n             Perl_sv_pvutf8n
+#define Perl_sv_pvbyten                CPerlObj::Perl_sv_pvbyten
+#define sv_pvbyten             Perl_sv_pvbyten
 #define Perl_sv_true           CPerlObj::Perl_sv_true
 #define sv_true                        Perl_sv_true
 #define Perl_sv_add_arena      CPerlObj::Perl_sv_add_arena
 #define sv_pos_b2u             Perl_sv_pos_b2u
 #define Perl_sv_pvn_force      CPerlObj::Perl_sv_pvn_force
 #define sv_pvn_force           Perl_sv_pvn_force
+#define Perl_sv_pvutf8n_force  CPerlObj::Perl_sv_pvutf8n_force
+#define sv_pvutf8n_force       Perl_sv_pvutf8n_force
+#define Perl_sv_pvbyten_force  CPerlObj::Perl_sv_pvbyten_force
+#define sv_pvbyten_force       Perl_sv_pvbyten_force
 #define Perl_sv_reftype                CPerlObj::Perl_sv_reftype
 #define sv_reftype             Perl_sv_reftype
 #define Perl_sv_replace                CPerlObj::Perl_sv_replace
 #define sv_vcatpvfn            Perl_sv_vcatpvfn
 #define Perl_sv_vsetpvfn       CPerlObj::Perl_sv_vsetpvfn
 #define sv_vsetpvfn            Perl_sv_vsetpvfn
+#define Perl_str_to_version    CPerlObj::Perl_str_to_version
+#define str_to_version         Perl_str_to_version
 #define Perl_swash_init                CPerlObj::Perl_swash_init
 #define swash_init             Perl_swash_init
 #define Perl_swash_fetch       CPerlObj::Perl_swash_fetch
 #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_simple CPerlObj::Perl_utf8_to_uv_simple
+#define utf8_to_uv_simple      Perl_utf8_to_uv_simple
 #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 vivify_ref             Perl_vivify_ref
 #define Perl_wait4pid          CPerlObj::Perl_wait4pid
 #define wait4pid               Perl_wait4pid
+#define Perl_report_evil_fh    CPerlObj::Perl_report_evil_fh
+#define report_evil_fh         Perl_report_evil_fh
+#define Perl_report_uninit     CPerlObj::Perl_report_uninit
+#define report_uninit          Perl_report_uninit
 #define Perl_warn              CPerlObj::Perl_warn
 #define warn                   Perl_warn
 #define Perl_vwarn             CPerlObj::Perl_vwarn
 #define whichsig               Perl_whichsig
 #define Perl_yyerror           CPerlObj::Perl_yyerror
 #define yyerror                        Perl_yyerror
-#if defined(USE_PURE_BISON)
+#ifdef USE_PURE_BISON
+#define Perl_yylex_r           CPerlObj::Perl_yylex_r
+#define yylex_r                        Perl_yylex_r
 #define Perl_yylex             CPerlObj::Perl_yylex
 #define yylex                  Perl_yylex
 #else
 #if defined(MYMALLOC)
 #define Perl_dump_mstats       CPerlObj::Perl_dump_mstats
 #define dump_mstats            Perl_dump_mstats
-#define Perl_malloc            CPerlObj::Perl_malloc
-#define malloc                 Perl_malloc
-#define Perl_calloc            CPerlObj::Perl_calloc
-#define calloc                 Perl_calloc
-#define Perl_realloc           CPerlObj::Perl_realloc
-#define realloc                        Perl_realloc
-#define Perl_mfree             CPerlObj::Perl_mfree
-#define mfree                  Perl_mfree
+#define Perl_get_mstats                CPerlObj::Perl_get_mstats
+#define get_mstats             Perl_get_mstats
 #endif
 #define Perl_safesysmalloc     CPerlObj::Perl_safesysmalloc
 #define safesysmalloc          Perl_safesysmalloc
 #define runops_standard                Perl_runops_standard
 #define Perl_runops_debug      CPerlObj::Perl_runops_debug
 #define runops_debug           Perl_runops_debug
+#if defined(USE_THREADS)
+#define Perl_sv_lock           CPerlObj::Perl_sv_lock
+#define sv_lock                        Perl_sv_lock
+#endif
 #define Perl_sv_catpvf_mg      CPerlObj::Perl_sv_catpvf_mg
 #define sv_catpvf_mg           Perl_sv_catpvf_mg
 #define Perl_sv_vcatpvf_mg     CPerlObj::Perl_sv_vcatpvf_mg
 #define do_sv_dump             Perl_do_sv_dump
 #define Perl_magic_dump                CPerlObj::Perl_magic_dump
 #define magic_dump             Perl_magic_dump
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 #define Perl_default_protect   CPerlObj::Perl_default_protect
 #define default_protect                Perl_default_protect
 #define Perl_vdefault_protect  CPerlObj::Perl_vdefault_protect
 #define vdefault_protect       Perl_vdefault_protect
+#endif
 #define Perl_reginitcolors     CPerlObj::Perl_reginitcolors
 #define reginitcolors          Perl_reginitcolors
 #define Perl_sv_2pv_nolen      CPerlObj::Perl_sv_2pv_nolen
 #define sv_2pv_nolen           Perl_sv_2pv_nolen
+#define Perl_sv_2pvutf8_nolen  CPerlObj::Perl_sv_2pvutf8_nolen
+#define sv_2pvutf8_nolen       Perl_sv_2pvutf8_nolen
+#define Perl_sv_2pvbyte_nolen  CPerlObj::Perl_sv_2pvbyte_nolen
+#define sv_2pvbyte_nolen       Perl_sv_2pvbyte_nolen
 #define Perl_sv_pv             CPerlObj::Perl_sv_pv
 #define sv_pv                  Perl_sv_pv
+#define Perl_sv_pvutf8         CPerlObj::Perl_sv_pvutf8
+#define sv_pvutf8              Perl_sv_pvutf8
+#define Perl_sv_pvbyte         CPerlObj::Perl_sv_pvbyte
+#define sv_pvbyte              Perl_sv_pvbyte
+#define Perl_sv_utf8_upgrade   CPerlObj::Perl_sv_utf8_upgrade
+#define sv_utf8_upgrade                Perl_sv_utf8_upgrade
+#define Perl_sv_utf8_downgrade CPerlObj::Perl_sv_utf8_downgrade
+#define sv_utf8_downgrade      Perl_sv_utf8_downgrade
+#define Perl_sv_utf8_encode    CPerlObj::Perl_sv_utf8_encode
+#define sv_utf8_encode         Perl_sv_utf8_encode
+#define Perl_sv_utf8_decode    CPerlObj::Perl_sv_utf8_decode
+#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_add_backref    CPerlObj::Perl_sv_add_backref
+#define sv_add_backref         Perl_sv_add_backref
+#define Perl_sv_del_backref    CPerlObj::Perl_sv_del_backref
+#define sv_del_backref         Perl_sv_del_backref
 #define Perl_tmps_grow         CPerlObj::Perl_tmps_grow
 #define tmps_grow              Perl_tmps_grow
 #define Perl_sv_rvweaken       CPerlObj::Perl_sv_rvweaken
 #define my_attrs               Perl_my_attrs
 #define Perl_boot_core_xsutils CPerlObj::Perl_boot_core_xsutils
 #define boot_core_xsutils      Perl_boot_core_xsutils
+#if defined(USE_ITHREADS)
+#define Perl_cx_dup            CPerlObj::Perl_cx_dup
+#define cx_dup                 Perl_cx_dup
+#define Perl_si_dup            CPerlObj::Perl_si_dup
+#define si_dup                 Perl_si_dup
+#define Perl_ss_dup            CPerlObj::Perl_ss_dup
+#define ss_dup                 Perl_ss_dup
+#define Perl_any_dup           CPerlObj::Perl_any_dup
+#define any_dup                        Perl_any_dup
+#define Perl_he_dup            CPerlObj::Perl_he_dup
+#define he_dup                 Perl_he_dup
+#define Perl_re_dup            CPerlObj::Perl_re_dup
+#define re_dup                 Perl_re_dup
+#define Perl_fp_dup            CPerlObj::Perl_fp_dup
+#define fp_dup                 Perl_fp_dup
+#define Perl_dirp_dup          CPerlObj::Perl_dirp_dup
+#define dirp_dup               Perl_dirp_dup
+#define Perl_gp_dup            CPerlObj::Perl_gp_dup
+#define gp_dup                 Perl_gp_dup
+#define Perl_mg_dup            CPerlObj::Perl_mg_dup
+#define mg_dup                 Perl_mg_dup
+#define Perl_sv_dup            CPerlObj::Perl_sv_dup
+#define sv_dup                 Perl_sv_dup
+#if defined(HAVE_INTERP_INTERN)
+#define Perl_sys_intern_dup    CPerlObj::Perl_sys_intern_dup
+#define sys_intern_dup         Perl_sys_intern_dup
+#endif
+#define Perl_ptr_table_new     CPerlObj::Perl_ptr_table_new
+#define ptr_table_new          Perl_ptr_table_new
+#define Perl_ptr_table_fetch   CPerlObj::Perl_ptr_table_fetch
+#define ptr_table_fetch                Perl_ptr_table_fetch
+#define Perl_ptr_table_store   CPerlObj::Perl_ptr_table_store
+#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
+#endif
+#if defined(HAVE_INTERP_INTERN)
+#define Perl_sys_intern_clear  CPerlObj::Perl_sys_intern_clear
+#define sys_intern_clear       Perl_sys_intern_clear
+#define Perl_sys_intern_init   CPerlObj::Perl_sys_intern_init
+#define sys_intern_init                Perl_sys_intern_init
+#endif
 #if defined(PERL_OBJECT)
+#else
 #endif
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define S_avhv_index_sv                CPerlObj::S_avhv_index_sv
 #define avhv_index_sv          S_avhv_index_sv
+#define S_avhv_index           CPerlObj::S_avhv_index
+#define avhv_index             S_avhv_index
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#define S_do_trans_CC_simple   CPerlObj::S_do_trans_CC_simple
-#define do_trans_CC_simple     S_do_trans_CC_simple
-#define S_do_trans_CC_count    CPerlObj::S_do_trans_CC_count
-#define do_trans_CC_count      S_do_trans_CC_count
-#define S_do_trans_CC_complex  CPerlObj::S_do_trans_CC_complex
-#define do_trans_CC_complex    S_do_trans_CC_complex
-#define S_do_trans_UU_simple   CPerlObj::S_do_trans_UU_simple
-#define do_trans_UU_simple     S_do_trans_UU_simple
-#define S_do_trans_UU_count    CPerlObj::S_do_trans_UU_count
-#define do_trans_UU_count      S_do_trans_UU_count
-#define S_do_trans_UU_complex  CPerlObj::S_do_trans_UU_complex
-#define do_trans_UU_complex    S_do_trans_UU_complex
-#define S_do_trans_UC_simple   CPerlObj::S_do_trans_UC_simple
-#define do_trans_UC_simple     S_do_trans_UC_simple
-#define S_do_trans_CU_simple   CPerlObj::S_do_trans_CU_simple
-#define do_trans_CU_simple     S_do_trans_CU_simple
-#define S_do_trans_UC_trivial  CPerlObj::S_do_trans_UC_trivial
-#define do_trans_UC_trivial    S_do_trans_UC_trivial
-#define S_do_trans_CU_trivial  CPerlObj::S_do_trans_CU_trivial
-#define do_trans_CU_trivial    S_do_trans_CU_trivial
+#define S_do_trans_simple      CPerlObj::S_do_trans_simple
+#define do_trans_simple                S_do_trans_simple
+#define S_do_trans_count       CPerlObj::S_do_trans_count
+#define do_trans_count         S_do_trans_count
+#define S_do_trans_complex     CPerlObj::S_do_trans_complex
+#define do_trans_complex       S_do_trans_complex
+#define S_do_trans_simple_utf8 CPerlObj::S_do_trans_simple_utf8
+#define do_trans_simple_utf8   S_do_trans_simple_utf8
+#define S_do_trans_count_utf8  CPerlObj::S_do_trans_count_utf8
+#define do_trans_count_utf8    S_do_trans_count_utf8
+#define S_do_trans_complex_utf8        CPerlObj::S_do_trans_complex_utf8
+#define do_trans_complex_utf8  S_do_trans_complex_utf8
 #endif
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #define S_gv_init_sv           CPerlObj::S_gv_init_sv
 #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 null                   S_null
+#define S_pad_addlex           CPerlObj::S_pad_addlex
+#define pad_addlex             S_pad_addlex
 #define S_pad_findlex          CPerlObj::S_pad_findlex
 #define pad_findlex            S_pad_findlex
 #define S_newDEFSVOP           CPerlObj::S_newDEFSVOP
 #define is_handle_constructor  S_is_handle_constructor
 #define S_gv_ename             CPerlObj::S_gv_ename
 #define gv_ename               S_gv_ename
+#define S_cv_dump              CPerlObj::S_cv_dump
+#define cv_dump                        S_cv_dump
 #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 run_body               S_run_body
 #define S_call_body            CPerlObj::S_call_body
 #define call_body              S_call_body
-#define S_call_xbody           CPerlObj::S_call_xbody
-#define call_xbody             S_call_xbody
 #define S_call_list_body       CPerlObj::S_call_list_body
 #define call_list_body         S_call_list_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define S_vparse_body          CPerlObj::S_vparse_body
+#define vparse_body            S_vparse_body
+#define S_vrun_body            CPerlObj::S_vrun_body
+#define vrun_body              S_vrun_body
+#define S_vcall_body           CPerlObj::S_vcall_body
+#define vcall_body             S_vcall_body
+#define S_vcall_list_body      CPerlObj::S_vcall_list_body
+#define vcall_list_body                S_vcall_list_body
+#endif
 #  if defined(USE_THREADS)
 #define S_init_main_thread     CPerlObj::S_init_main_thread
 #define init_main_thread       S_init_main_thread
 #define docatch                        S_docatch
 #define S_docatch_body         CPerlObj::S_docatch_body
 #define docatch_body           S_docatch_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define S_vdocatch_body                CPerlObj::S_vdocatch_body
+#define vdocatch_body          S_vdocatch_body
+#endif
 #define S_dofindlabel          CPerlObj::S_dofindlabel
 #define dofindlabel            S_dofindlabel
 #define S_doparseform          CPerlObj::S_doparseform
 #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 qsortsv                        S_qsortsv
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define S_do_maybe_phash       CPerlObj::S_do_maybe_phash
+#define do_maybe_phash         S_do_maybe_phash
+#define S_do_oddball           CPerlObj::S_do_oddball
+#define do_oddball             S_do_oddball
 #define S_get_db_sub           CPerlObj::S_get_db_sub
 #define get_db_sub             S_get_db_sub
 #define S_method_common                CPerlObj::S_method_common
 #define nextchar               S_nextchar
 #define S_dumpuntil            CPerlObj::S_dumpuntil
 #define dumpuntil              S_dumpuntil
+#define S_put_byte             CPerlObj::S_put_byte
+#define put_byte               S_put_byte
 #define S_scan_commit          CPerlObj::S_scan_commit
 #define scan_commit            S_scan_commit
+#define S_cl_anything          CPerlObj::S_cl_anything
+#define cl_anything            S_cl_anything
+#define S_cl_is_anything       CPerlObj::S_cl_is_anything
+#define cl_is_anything         S_cl_is_anything
+#define S_cl_init              CPerlObj::S_cl_init
+#define cl_init                        S_cl_init
+#define S_cl_init_zero         CPerlObj::S_cl_init_zero
+#define cl_init_zero           S_cl_init_zero
+#define S_cl_and               CPerlObj::S_cl_and
+#define cl_and                 S_cl_and
+#define S_cl_or                        CPerlObj::S_cl_or
+#define cl_or                  S_cl_or
 #define S_study_chunk          CPerlObj::S_study_chunk
 #define study_chunk            S_study_chunk
 #define S_add_data             CPerlObj::S_add_data
 #define reghop                 S_reghop
 #define S_reghopmaybe          CPerlObj::S_reghopmaybe
 #define reghopmaybe            S_reghopmaybe
+#define S_find_byclass         CPerlObj::S_find_byclass
+#define find_byclass           S_find_byclass
 #endif
 #if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
 #define S_debprof              CPerlObj::S_debprof
 #define more_xnv               S_more_xnv
 #define S_more_xpv             CPerlObj::S_more_xpv
 #define more_xpv               S_more_xpv
+#define S_more_xpviv           CPerlObj::S_more_xpviv
+#define more_xpviv             S_more_xpviv
+#define S_more_xpvnv           CPerlObj::S_more_xpvnv
+#define more_xpvnv             S_more_xpvnv
+#define S_more_xpvcv           CPerlObj::S_more_xpvcv
+#define more_xpvcv             S_more_xpvcv
+#define S_more_xpvav           CPerlObj::S_more_xpvav
+#define more_xpvav             S_more_xpvav
+#define S_more_xpvhv           CPerlObj::S_more_xpvhv
+#define more_xpvhv             S_more_xpvhv
+#define S_more_xpvmg           CPerlObj::S_more_xpvmg
+#define more_xpvmg             S_more_xpvmg
+#define S_more_xpvlv           CPerlObj::S_more_xpvlv
+#define more_xpvlv             S_more_xpvlv
+#define S_more_xpvbm           CPerlObj::S_more_xpvbm
+#define more_xpvbm             S_more_xpvbm
 #define S_more_xrv             CPerlObj::S_more_xrv
 #define more_xrv               S_more_xrv
 #define S_new_xiv              CPerlObj::S_new_xiv
 #define new_xnv                        S_new_xnv
 #define S_new_xpv              CPerlObj::S_new_xpv
 #define new_xpv                        S_new_xpv
+#define S_new_xpviv            CPerlObj::S_new_xpviv
+#define new_xpviv              S_new_xpviv
+#define S_new_xpvnv            CPerlObj::S_new_xpvnv
+#define new_xpvnv              S_new_xpvnv
+#define S_new_xpvcv            CPerlObj::S_new_xpvcv
+#define new_xpvcv              S_new_xpvcv
+#define S_new_xpvav            CPerlObj::S_new_xpvav
+#define new_xpvav              S_new_xpvav
+#define S_new_xpvhv            CPerlObj::S_new_xpvhv
+#define new_xpvhv              S_new_xpvhv
+#define S_new_xpvmg            CPerlObj::S_new_xpvmg
+#define new_xpvmg              S_new_xpvmg
+#define S_new_xpvlv            CPerlObj::S_new_xpvlv
+#define new_xpvlv              S_new_xpvlv
+#define S_new_xpvbm            CPerlObj::S_new_xpvbm
+#define new_xpvbm              S_new_xpvbm
 #define S_new_xrv              CPerlObj::S_new_xrv
 #define new_xrv                        S_new_xrv
 #define S_del_xiv              CPerlObj::S_del_xiv
 #define del_xnv                        S_del_xnv
 #define S_del_xpv              CPerlObj::S_del_xpv
 #define del_xpv                        S_del_xpv
+#define S_del_xpviv            CPerlObj::S_del_xpviv
+#define del_xpviv              S_del_xpviv
+#define S_del_xpvnv            CPerlObj::S_del_xpvnv
+#define del_xpvnv              S_del_xpvnv
+#define S_del_xpvcv            CPerlObj::S_del_xpvcv
+#define del_xpvcv              S_del_xpvcv
+#define S_del_xpvav            CPerlObj::S_del_xpvav
+#define del_xpvav              S_del_xpvav
+#define S_del_xpvhv            CPerlObj::S_del_xpvhv
+#define del_xpvhv              S_del_xpvhv
+#define S_del_xpvmg            CPerlObj::S_del_xpvmg
+#define del_xpvmg              S_del_xpvmg
+#define S_del_xpvlv            CPerlObj::S_del_xpvlv
+#define del_xpvlv              S_del_xpvlv
+#define S_del_xpvbm            CPerlObj::S_del_xpvbm
+#define del_xpvbm              S_del_xpvbm
 #define S_del_xrv              CPerlObj::S_del_xrv
 #define del_xrv                        S_del_xrv
 #define S_sv_unglob            CPerlObj::S_sv_unglob
 #define not_a_number           S_not_a_number
 #define S_visit                        CPerlObj::S_visit
 #define visit                  S_visit
-#  if defined(PURIFY)
-#define S_reg_add              CPerlObj::S_reg_add
-#define reg_add                        S_reg_add
-#define S_reg_remove           CPerlObj::S_reg_remove
-#define reg_remove             S_reg_remove
-#  else
-#define S_my_safemalloc                CPerlObj::S_my_safemalloc
-#define my_safemalloc          S_my_safemalloc
-#  endif
-#define S_sv_add_backref       CPerlObj::S_sv_add_backref
-#define sv_add_backref         S_sv_add_backref
-#define S_sv_del_backref       CPerlObj::S_sv_del_backref
-#define sv_del_backref         S_sv_del_backref
 #  if defined(DEBUGGING)
 #define S_del_sv               CPerlObj::S_del_sv
 #define del_sv                 S_del_sv
 #define scan_word              S_scan_word
 #define S_skipspace            CPerlObj::S_skipspace
 #define skipspace              S_skipspace
+#define S_swallow_bom          CPerlObj::S_swallow_bom
+#define swallow_bom            S_swallow_bom
 #define S_checkcomma           CPerlObj::S_checkcomma
 #define checkcomma             S_checkcomma
 #define S_force_ident          CPerlObj::S_force_ident
 #define sublex_start           S_sublex_start
 #define S_filter_gets          CPerlObj::S_filter_gets
 #define filter_gets            S_filter_gets
+#define S_find_in_my_stash     CPerlObj::S_find_in_my_stash
+#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_ao                   CPerlObj::S_ao
 #define depcom                 S_depcom
 #define S_incl_perldb          CPerlObj::S_incl_perldb
 #define incl_perldb            S_incl_perldb
+#if 0
 #define S_utf16_textfilter     CPerlObj::S_utf16_textfilter
 #define utf16_textfilter       S_utf16_textfilter
 #define S_utf16rev_textfilter  CPerlObj::S_utf16rev_textfilter
 #define utf16rev_textfilter    S_utf16rev_textfilter
+#endif
 #  if defined(CRIPPLED_CC)
 #define S_uni                  CPerlObj::S_uni
 #define uni                    S_uni
 #  endif
-#  if defined(WIN32)
-#define S_win32_textfilter     CPerlObj::S_win32_textfilter
-#define win32_textfilter       S_win32_textfilter
+#  if defined(PERL_CR_FILTER)
+#define S_cr_textfilter                CPerlObj::S_cr_textfilter
+#define cr_textfilter          S_cr_textfilter
 #  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #define S_isa_lookup           CPerlObj::S_isa_lookup
 #define isa_lookup             S_isa_lookup
 #endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define S_modify_SV_attributes CPerlObj::S_modify_SV_attributes
-#define modify_SV_attributes   S_modify_SV_attributes
-#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 xstat                  S_xstat
 #  endif
 #endif
+#if defined(PERL_OBJECT)
+#endif
 #define Perl_ck_anoncode       CPerlObj::Perl_ck_anoncode
 #define ck_anoncode            Perl_ck_anoncode
 #define Perl_ck_bitop          CPerlObj::Perl_ck_bitop
 #define ck_exec                        Perl_ck_exec
 #define Perl_ck_exists         CPerlObj::Perl_ck_exists
 #define ck_exists              Perl_ck_exists
+#define Perl_ck_exit           CPerlObj::Perl_ck_exit
+#define ck_exit                        Perl_ck_exit
 #define Perl_ck_ftst           CPerlObj::Perl_ck_ftst
 #define ck_ftst                        Perl_ck_ftst
 #define Perl_ck_fun            CPerlObj::Perl_ck_fun
 #define ck_grep                        Perl_ck_grep
 #define Perl_ck_index          CPerlObj::Perl_ck_index
 #define ck_index               Perl_ck_index
+#define Perl_ck_join           CPerlObj::Perl_ck_join
+#define ck_join                        Perl_ck_join
 #define Perl_ck_lengthconst    CPerlObj::Perl_ck_lengthconst
 #define ck_lengthconst         Perl_ck_lengthconst
 #define Perl_ck_lfun           CPerlObj::Perl_ck_lfun
 #define ck_method              Perl_ck_method
 #define Perl_ck_null           CPerlObj::Perl_ck_null
 #define ck_null                        Perl_ck_null
+#define Perl_ck_open           CPerlObj::Perl_ck_open
+#define ck_open                        Perl_ck_open
 #define Perl_ck_repeat         CPerlObj::Perl_ck_repeat
 #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
 #define pp_leaveloop           Perl_pp_leaveloop
 #define Perl_pp_leavesub       CPerlObj::Perl_pp_leavesub
 #define pp_leavesub            Perl_pp_leavesub
+#define Perl_pp_leavesublv     CPerlObj::Perl_pp_leavesublv
+#define pp_leavesublv          Perl_pp_leavesublv
 #define Perl_pp_leavetry       CPerlObj::Perl_pp_leavetry
 #define pp_leavetry            Perl_pp_leavetry
 #define Perl_pp_leavewrite     CPerlObj::Perl_pp_leavewrite
  */
 
 #if !defined(PERL_CORE)
-#  define sv_setptrobj(rv,ptr,name)    sv_setref_iv(rv,name,(IV)ptr)
-#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,Nullch,(IV)ptr)
+#  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))
 #endif
 
 #if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
    The following are not like that, but since they had a "perl_"
    prefix in previous versions, we provide compatibility macros.
  */
-#  define perl_atexit                  call_atexit
-#  define perl_call_argv               call_argv
-#  define perl_call_pv                 call_pv
-#  define perl_call_method             call_method
-#  define perl_call_sv                 call_sv
-#  define perl_eval_sv                 eval_sv
-#  define perl_eval_pv                 eval_pv
-#  define perl_require_pv              require_pv
-#  define perl_get_sv                  get_sv
-#  define perl_get_av                  get_av
-#  define perl_get_hv                  get_hv
-#  define perl_get_cv                  get_cv
-#  define perl_init_i18nl10n           init_i18nl10n
-#  define perl_init_i18nl14n           init_i18nl14n
-#  define perl_new_ctype               new_ctype
-#  define perl_new_collate             new_collate
-#  define perl_new_numeric             new_numeric
+#  define perl_atexit(a,b)             call_atexit(a,b)
+#  define perl_call_argv(a,b,c)                call_argv(a,b,c)
+#  define perl_call_pv(a,b)            call_pv(a,b)
+#  define perl_call_method(a,b)                call_method(a,b)
+#  define perl_call_sv(a,b)            call_sv(a,b)
+#  define perl_eval_sv(a,b)            eval_sv(a,b)
+#  define perl_eval_pv(a,b)            eval_pv(a,b)
+#  define perl_require_pv(a)           require_pv(a)
+#  define perl_get_sv(a,b)             get_sv(a,b)
+#  define perl_get_av(a,b)             get_av(a,b)
+#  define perl_get_hv(a,b)             get_hv(a,b)
+#  define perl_get_cv(a,b)             get_cv(a,b)
+#  define perl_init_i18nl10n(a)                init_i18nl10n(a)
+#  define perl_init_i18nl14n(a)                init_i18nl14n(a)
+#  define perl_new_ctype(a)            new_ctype(a)
+#  define perl_new_collate(a)          new_collate(a)
+#  define perl_new_numeric(a)          new_numeric(a)
 
 /* varargs functions can't be handled with CPP macros. :-(
    This provides a set of compatibility functions that don't take
 #  define deb                          Perl_deb_nocontext
 #  define die                          Perl_die_nocontext
 #  define form                         Perl_form_nocontext
+#  define load_module                  Perl_load_module_nocontext
+#  define mess                         Perl_mess_nocontext
 #  define newSVpvf                     Perl_newSVpvf_nocontext
 #  define sv_catpvf                    Perl_sv_catpvf_nocontext
 #  define sv_setpvf                    Perl_sv_setpvf_nocontext
 #  define Perl_die_nocontext           Perl_die
 #  define Perl_deb_nocontext           Perl_deb
 #  define Perl_form_nocontext          Perl_form
+#  define Perl_load_module_nocontext   Perl_load_module
+#  define Perl_mess_nocontext          Perl_mess
 #  define Perl_newSVpvf_nocontext      Perl_newSVpvf
 #  define Perl_sv_catpvf_nocontext     Perl_sv_catpvf
 #  define Perl_sv_setpvf_nocontext     Perl_sv_setpvf