This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bug fix for storing shared objects in shared structures
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 0e06d49..deb30b3 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -3,14 +3,14 @@
  *    embed.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, perlvars.h and thrdvar.h.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
@@ -64,7 +64,7 @@
 #define av_make                        Perl_av_make
 #define av_pop                 Perl_av_pop
 #define av_push                        Perl_av_push
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define av_reify               Perl_av_reify
 #endif
 #define av_shift               Perl_av_shift
 #define do_open9               Perl_do_open9
 #define do_openn               Perl_do_openn
 #ifdef PERL_CORE
-#define do_pipe                        Perl_do_pipe
 #define do_print               Perl_do_print
 #define do_readline            Perl_do_readline
 #define do_chomp               Perl_do_chomp
 #define gv_efullname           Perl_gv_efullname
 #define gv_efullname4          Perl_gv_efullname4
 #define gv_fetchfile           Perl_gv_fetchfile
+#define gv_fetchfile_flags     Perl_gv_fetchfile_flags
 #define gv_fetchmeth           Perl_gv_fetchmeth
 #define gv_fetchmeth_autoload  Perl_gv_fetchmeth_autoload
 #define gv_fetchmethod_autoload        Perl_gv_fetchmethod_autoload
 #define gv_stashsv             Perl_gv_stashsv
 #define hv_clear               Perl_hv_clear
 #define hv_delayfree_ent       Perl_hv_delayfree_ent
-#define hv_delete              Perl_hv_delete
-#define hv_delete_ent          Perl_hv_delete_ent
-#define hv_exists              Perl_hv_exists
-#define hv_exists_ent          Perl_hv_exists_ent
-#define hv_fetch               Perl_hv_fetch
-#define hv_fetch_ent           Perl_hv_fetch_ent
+#define hv_common              Perl_hv_common
+#define hv_common_key_len      Perl_hv_common_key_len
 #define hv_free_ent            Perl_hv_free_ent
 #define hv_iterinit            Perl_hv_iterinit
 #define hv_iterkey             Perl_hv_iterkey
 #define hv_iternext_flags      Perl_hv_iternext_flags
 #define hv_iterval             Perl_hv_iterval
 #define hv_ksplit              Perl_hv_ksplit
-#define hv_store               Perl_hv_store
-#define hv_store_ent           Perl_hv_store_ent
-#define hv_store_flags         Perl_hv_store_flags
 #define hv_undef               Perl_hv_undef
 #define ibcmp                  Perl_ibcmp
 #define ibcmp_locale           Perl_ibcmp_locale
 #define keyword                        Perl_keyword
 #endif
 #define leave_scope            Perl_leave_scope
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define lex_end                        Perl_lex_end
+#endif
+#ifdef PERL_CORE
 #define lex_start              Perl_lex_start
 #endif
 #define op_null                        Perl_op_null
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define op_clear               Perl_op_clear
 #endif
 #define op_refcnt_lock         Perl_op_refcnt_lock
 #endif
 #define mess                   Perl_mess
 #define vmess                  Perl_vmess
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define qerror                 Perl_qerror
 #endif
 #define sortsv                 Perl_sortsv
 #define mg_set                 Perl_mg_set
 #define mg_size                        Perl_mg_size
 #define mini_mktime            Perl_mini_mktime
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define mod                    Perl_mod
+#endif
+#ifdef PERL_CORE
 #define mode_from_discipline   Perl_mode_from_discipline
 #endif
 #define moreswitches           Perl_moreswitches
 #define newHVhv                        Perl_newHVhv
 #define newIO                  Perl_newIO
 #define newLISTOP              Perl_newLISTOP
+#ifdef USE_ITHREADS
 #define newPADOP               Perl_newPADOP
+#endif
 #define newPMOP                        Perl_newPMOP
 #define newPVOP                        Perl_newPVOP
 #define newRV                  Perl_newRV
 #define vnewSVpvf              Perl_vnewSVpvf
 #define newSVrv                        Perl_newSVrv
 #define newSVsv                        Perl_newSVsv
+#define newSV_type             Perl_newSV_type
 #define newUNOP                        Perl_newUNOP
 #define newWHENOP              Perl_newWHENOP
 #define newWHILEOP             Perl_newWHILEOP
 #define get_av                 Perl_get_av
 #define get_hv                 Perl_get_hv
 #define get_cv                 Perl_get_cv
+#define get_cvn_flags          Perl_get_cvn_flags
 #define init_i18nl10n          Perl_init_i18nl10n
 #define init_i18nl14n          Perl_init_i18nl14n
 #define new_collate            Perl_new_collate
 #define refkids                        Perl_refkids
 #endif
 #define regdump                        Perl_regdump
+#define regdump                        Perl_regdump
 #define regclass_swash         Perl_regclass_swash
 #define pregexec               Perl_pregexec
 #define pregfree               Perl_pregfree
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_temp_copy          Perl_reg_temp_copy
+#endif
+#define regfree_internal       Perl_regfree_internal
+#define reg_stringify          Perl_reg_stringify
 #if defined(USE_ITHREADS)
-#define regdupe                        Perl_regdupe
+#define regdupe_internal       Perl_regdupe_internal
 #endif
 #define pregcomp               Perl_pregcomp
+#define re_compile             Perl_re_compile
 #define re_intuit_start                Perl_re_intuit_start
 #define re_intuit_string       Perl_re_intuit_string
 #define regexec_flags          Perl_regexec_flags
 #define regnext                        Perl_regnext
 #if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_named_buff         Perl_reg_named_buff
+#define reg_named_buff_iter    Perl_reg_named_buff_iter
+#endif
+#define reg_named_buff_fetch   Perl_reg_named_buff_fetch
+#define reg_named_buff_exists  Perl_reg_named_buff_exists
+#define reg_named_buff_firstkey        Perl_reg_named_buff_firstkey
+#define reg_named_buff_nextkey Perl_reg_named_buff_nextkey
+#define reg_named_buff_scalar  Perl_reg_named_buff_scalar
+#define reg_named_buff_all     Perl_reg_named_buff_all
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_numbered_buff_fetch        Perl_reg_numbered_buff_fetch
+#define reg_numbered_buff_store        Perl_reg_numbered_buff_store
+#define reg_numbered_buff_length       Perl_reg_numbered_buff_length
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_qr_package         Perl_reg_qr_package
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define regprop                        Perl_regprop
 #endif
 #define repeatcpy              Perl_repeatcpy
 #define savepv                 Perl_savepv
 #define savepvn                        Perl_savepvn
 #define savesharedpv           Perl_savesharedpv
+#define savesharedpvn          Perl_savesharedpvn
 #define savesvpv               Perl_savesvpv
 #define savestack_grow         Perl_savestack_grow
 #define savestack_grow_cnt     Perl_savestack_grow_cnt
 #define save_gp                        Perl_save_gp
 #define save_hash              Perl_save_hash
 #define save_helem             Perl_save_helem
-#define save_hints             Perl_save_hints
 #define save_hptr              Perl_save_hptr
 #define save_I16               Perl_save_I16
 #define save_I32               Perl_save_I32
 #define setenv_getix           Perl_setenv_getix
 #endif
 #endif
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define setdefout              Perl_setdefout
 #endif
 #define share_hek              Perl_share_hek
 #define sv_2iv_flags           Perl_sv_2iv_flags
 #define sv_2mortal             Perl_sv_2mortal
 #define sv_2nv                 Perl_sv_2nv
+#ifdef PERL_CORE
+#define sv_2num                        Perl_sv_2num
+#endif
 #define sv_2pv_flags           Perl_sv_2pv_flags
 #define sv_2pvutf8             Perl_sv_2pvutf8
 #define sv_2pvbyte             Perl_sv_2pvbyte
 #define unpack_str             Perl_unpack_str
 #define unpackstring           Perl_unpackstring
 #define unsharepvn             Perl_unsharepvn
-#if defined(PERL_CORE) || defined(PERL_EXT)
+#ifdef PERL_CORE
 #define unshare_hek            Perl_unshare_hek
 #endif
 #ifdef PERL_MAD
 #define uvuni_to_utf8_flags    Perl_uvuni_to_utf8_flags
 #define pv_uni_display         Perl_pv_uni_display
 #define sv_uni_display         Perl_sv_uni_display
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define vivify_defelem         Perl_vivify_defelem
+#endif
+#ifdef PERL_CORE
 #define vivify_ref             Perl_vivify_ref
 #define wait4pid               Perl_wait4pid
 #define parse_unicode_opts     Perl_parse_unicode_opts
 #ifdef PERL_CORE
 #define get_hash_seed          Perl_get_hash_seed
 #define report_evil_fh         Perl_report_evil_fh
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define report_uninit          Perl_report_uninit
 #endif
 #define warn                   Perl_warn
 #ifdef PERL_CORE
 #define write_to_stderr                Perl_write_to_stderr
 #define yyerror                        Perl_yyerror
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define yylex                  Perl_yylex
+#endif
+#ifdef PERL_CORE
 #define yyparse                        Perl_yyparse
+#define parser_free            Perl_parser_free
 #define yywarn                 Perl_yywarn
 #endif
 #if defined(MYMALLOC)
 #define mg_dup                 Perl_mg_dup
 #define sv_dup                 Perl_sv_dup
 #define rvpv_dup               Perl_rvpv_dup
+#define parser_dup             Perl_parser_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
 #define ptr_table_clear                Perl_ptr_table_clear
 #define ptr_table_free         Perl_ptr_table_free
+#if defined(USE_ITHREADS)
 #  if defined(HAVE_INTERP_INTERN)
 #define sys_intern_dup         Perl_sys_intern_dup
 #  endif
 #endif
 #define custom_op_name         Perl_custom_op_name
 #define custom_op_desc         Perl_custom_op_desc
-#if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
-#define sv_release_IVX         Perl_sv_release_IVX
-#endif
-#endif
 #define sv_nosharing           Perl_sv_nosharing
+#define sv_destroyable         Perl_sv_destroyable
 #ifdef NO_MATHOMS
 #else
 #define sv_nounlocking         Perl_sv_nounlocking
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define gv_init_sv             S_gv_init_sv
-#define require_errno          S_require_errno
+#define gv_get_super_pkg       S_gv_get_super_pkg
+#define require_tie_mod                S_require_tie_mod
 #endif
 #endif
 #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
 #define hv_magic_check         S_hv_magic_check
 #define unshare_hek_or_pvn     S_unshare_hek_or_pvn
 #define share_hek_flags                S_share_hek_flags
-#define hv_magic_uvar_xkey     S_hv_magic_uvar_xkey
 #define hv_notallowed          S_hv_notallowed
 #define hv_auxinit             S_hv_auxinit
 #define hv_delete_common       S_hv_delete_common
-#define hv_fetch_common                S_hv_fetch_common
 #define clear_placeholders     S_clear_placeholders
 #define refcounted_he_value    S_refcounted_he_value
 #endif
 #define ck_method              Perl_ck_method
 #define ck_null                        Perl_ck_null
 #define ck_open                        Perl_ck_open
+#define ck_readline            Perl_ck_readline
 #define ck_repeat              Perl_ck_repeat
 #define ck_require             Perl_ck_require
 #define ck_retarget            Perl_ck_retarget
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_sassign             Perl_ck_sassign
-#define ck_say                 Perl_ck_say
 #define ck_select              Perl_ck_select
 #define ck_shift               Perl_ck_shift
 #define ck_sort                        Perl_ck_sort
 #define ck_unpack              Perl_ck_unpack
 #define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment     S_is_list_assignment
+#endif
+#  ifdef USE_ITHREADS
+#  else
+#  endif
+#ifdef PERL_CORE
+#define find_and_forget_pmops  S_find_and_forget_pmops
 #define cop_free               S_cop_free
 #define modkids                        S_modkids
 #define scalarboolean          S_scalarboolean
 #define looks_like_bool                S_looks_like_bool
 #define newGIVWHENOP           S_newGIVWHENOP
 #define ref_array_or_hash      S_ref_array_or_hash
+#define process_special_blocks S_process_special_blocks
 #endif
 #endif
 #if defined(PL_OP_SLAB_ALLOC)
 #define Slab_Alloc             Perl_Slab_Alloc
 #define Slab_Free              Perl_Slab_Free
+#  if defined(PERL_DEBUG_READONLY_OPS)
+#    if defined(PERL_IN_OP_C)
+#ifdef PERL_CORE
+#define Slab_to_rw             S_Slab_to_rw
+#endif
+#    endif
+#  endif
 #endif
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define incpush                        S_incpush
 #define init_interp            S_init_interp
 #define init_ids               S_init_ids
-#define init_lexer             S_init_lexer
 #define init_main_stash                S_init_main_stash
 #define init_perllib           S_init_perllib
 #define init_postdump_symbols  S_init_postdump_symbols
 #define refto                  S_refto
 #endif
 #endif
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#endif
 #if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define unpack_rec             S_unpack_rec
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch                        S_docatch
-#define docatch_body           S_docatch_body
 #define dofindlabel            S_dofindlabel
 #define doparseform            S_doparseform
 #define num_overflow           S_num_overflow
 #define dopoptogiven           S_dopoptogiven
 #define dopoptolabel           S_dopoptolabel
 #define dopoptoloop            S_dopoptoloop
-#define dopoptosub             S_dopoptosub
 #define dopoptosub_at          S_dopoptosub_at
 #define dopoptowhen            S_dopoptowhen
 #define save_lines             S_save_lines
 #define doeval                 S_doeval
 #define check_type_and_open    S_check_type_and_open
+#endif
+#ifndef PERL_DISABLE_PMC
+#ifdef PERL_CORE
 #define doopen_pm              S_doopen_pm
+#endif
+#endif
+#ifdef PERL_CORE
 #define path_is_absolute       S_path_is_absolute
 #define run_user_filter                S_run_user_filter
 #define make_matcher           S_make_matcher
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define do_oddball             S_do_oddball
-#define get_db_sub             S_get_db_sub
 #define method_common          S_method_common
 #endif
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define doform                 S_doform
-#define emulate_eaccess                S_emulate_eaccess
 #endif
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 #ifdef PERL_CORE
 #define regclass               S_regclass
 #define regcurly               S_regcurly
 #define reg_node               S_reg_node
+#define reg_recode             S_reg_recode
 #define regpiece               S_regpiece
 #define reg_namedseq           S_reg_namedseq
 #define reginsert              S_reginsert
 #define regtail                        S_regtail
+#define reg_scan_name          S_reg_scan_name
 #define join_exact             S_join_exact
 #define regwhite               S_regwhite
 #define nextchar               S_nextchar
+#define reg_skipcomment                S_reg_skipcomment
 #define scan_commit            S_scan_commit
 #define cl_anything            S_cl_anything
 #define cl_is_anything         S_cl_is_anything
 #endif
 #  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
+#define regdump_extflags       S_regdump_extflags
 #define dumpuntil              S_dumpuntil
 #define put_byte               S_put_byte
 #define dump_trie              S_dump_trie
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reghopmaybe3           S_reghopmaybe3
 #define find_byclass           S_find_byclass
+#define swap_match_buff                S_swap_match_buff
 #define to_utf8_substr         S_to_utf8_substr
 #define to_byte_substr         S_to_byte_substr
+#define reg_check_named_buff_matched   S_reg_check_named_buff_matched
 #endif
 #  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define sv_pos_u2b_midway      S_sv_pos_u2b_midway
 #define sv_pos_u2b_cached      S_sv_pos_u2b_cached
 #define utf8_mg_pos_cache_update       S_utf8_mg_pos_cache_update
-#define sv_pos_b2u_forwards    S_sv_pos_b2u_forwards
 #define sv_pos_b2u_midway      S_sv_pos_b2u_midway
-#define stringify_regexp       S_stringify_regexp
 #define F0convert              S_F0convert
 #endif
 #  if defined(PERL_OLD_COPY_ON_WRITE)
 #define sv_2iuv_common         S_sv_2iuv_common
 #define glob_assign_glob       S_glob_assign_glob
 #define glob_assign_ref                S_glob_assign_ref
-#endif
-#  if defined(USE_ITHREADS)
-#ifdef PERL_CORE
 #define ptr_table_find         S_ptr_table_find
 #endif
-#  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define force_version          S_force_version
 #define force_word             S_force_word
 #define tokeq                  S_tokeq
-#define pending_ident          S_pending_ident
+#define readpipe_override      S_readpipe_override
 #define scan_const             S_scan_const
 #define scan_formline          S_scan_formline
 #define scan_heredoc           S_scan_heredoc
 #define scan_subst             S_scan_subst
 #define scan_trans             S_scan_trans
 #define scan_word              S_scan_word
+#define update_debugger_info   S_update_debugger_info
 #define skipspace              S_skipspace
 #define swallow_bom            S_swallow_bom
 #define checkcomma             S_checkcomma
 #define lop                    S_lop
 #define missingterm            S_missingterm
 #define no_op                  S_no_op
-#define set_csh                        S_set_csh
 #define sublex_done            S_sublex_done
 #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 tokenize_use           S_tokenize_use
-#define new_constant           S_new_constant
+#endif
+#ifdef PERL_CORE
 #define ao                     S_ao
-#define incl_perldb            S_incl_perldb
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #define sv_copypv              Perl_sv_copypv
 #define my_atof2               Perl_my_atof2
 #define my_socketpair          Perl_my_socketpair
+#define my_dirfd               Perl_my_dirfd
 #ifdef PERL_OLD_COPY_ON_WRITE
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define sv_setsv_cow           Perl_sv_setsv_cow
 #endif
 #  endif
 #endif
-#ifdef PERL_CORE
 #define find_runcv             Perl_find_runcv
+#ifdef PERL_CORE
 #define free_tied_hv_pool      Perl_free_tied_hv_pool
 #endif
 #if defined(DEBUGGING)
 #define my_clearenv            Perl_my_clearenv
 #endif
 #ifdef PERL_IMPLICIT_CONTEXT
+#ifdef PERL_GLOBAL_STRUCT_PRIVATE
+#else
+#endif
 #endif
 #ifndef HAS_STRLCAT
 #endif
 #define madparse               Perl_madparse
 #endif
 #endif
+#if !defined(HAS_SIGNBIT)
+#endif
+#ifdef PERL_CORE
+#define mro_meta_init          Perl_mro_meta_init
+#endif
+#if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define mro_meta_dup           Perl_mro_meta_dup
+#endif
+#endif
+#define mro_get_linear_isa     Perl_mro_get_linear_isa
+#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mro_get_linear_isa_c3  S_mro_get_linear_isa_c3
+#define mro_get_linear_isa_dfs S_mro_get_linear_isa_dfs
+#endif
+#endif
+#ifdef PERL_CORE
+#define mro_isa_changed_in     Perl_mro_isa_changed_in
+#endif
+#define mro_method_changed_in  Perl_mro_method_changed_in
+#ifdef PERL_CORE
+#define boot_core_mro          Perl_boot_core_mro
+#endif
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
 #define ck_chdir               Perl_ck_chdir
 #define ck_method              Perl_ck_method
 #define ck_null                        Perl_ck_null
 #define ck_open                        Perl_ck_open
+#define ck_readline            Perl_ck_readline
 #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_say                 Perl_ck_say
 #define ck_select              Perl_ck_select
 #define ck_shift               Perl_ck_shift
 #define ck_smartmatch          Perl_ck_smartmatch
 #define pp_not                 Perl_pp_not
 #define pp_null                        Perl_pp_null
 #define pp_oct                 Perl_pp_oct
+#define pp_once                        Perl_pp_once
 #define pp_open                        Perl_pp_open
 #define pp_open_dir            Perl_pp_open_dir
 #define pp_or                  Perl_pp_or
 #define pp_syswrite            Perl_pp_syswrite
 #define pp_tell                        Perl_pp_tell
 #define pp_telldir             Perl_pp_telldir
-#define pp_threadsv            Perl_pp_threadsv
 #define pp_tie                 Perl_pp_tie
 #define pp_tied                        Perl_pp_tied
 #define pp_time                        Perl_pp_time
 #define av_make(a,b)           Perl_av_make(aTHX_ a,b)
 #define av_pop(a)              Perl_av_pop(aTHX_ a)
 #define av_push(a,b)           Perl_av_push(aTHX_ a,b)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define av_reify(a)            Perl_av_reify(aTHX_ a)
 #endif
 #define av_shift(a)            Perl_av_shift(aTHX_ a)
 #define do_open9(a,b,c,d,e,f,g,h,i)    Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
 #define do_openn(a,b,c,d,e,f,g,h,i)    Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i)
 #ifdef PERL_CORE
-#define do_pipe(a,b,c)         Perl_do_pipe(aTHX_ a,b,c)
 #define do_print(a,b)          Perl_do_print(aTHX_ a,b)
 #define do_readline()          Perl_do_readline(aTHX)
 #define do_chomp(a)            Perl_do_chomp(aTHX_ a)
 #define getenv_len(a,b)                Perl_getenv_len(aTHX_ a,b)
 #endif
 #endif
+#ifdef PERL_CORE
+#endif
 #define gp_free(a)             Perl_gp_free(aTHX_ a)
 #define gp_ref(a)              Perl_gp_ref(aTHX_ a)
 #define gv_AVadd(a)            Perl_gv_AVadd(aTHX_ a)
 #define gv_efullname(a,b)      Perl_gv_efullname(aTHX_ a,b)
 #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_fetchfile_flags(a,b,c)      Perl_gv_fetchfile_flags(aTHX_ a,b,c)
 #define gv_fetchmeth(a,b,c,d)  Perl_gv_fetchmeth(aTHX_ a,b,c,d)
 #define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
 #define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
 #ifdef PERL_CORE
 #endif
 #define hv_delayfree_ent(a,b)  Perl_hv_delayfree_ent(aTHX_ a,b)
-#define hv_delete(a,b,c,d)     Perl_hv_delete(aTHX_ a,b,c,d)
-#define hv_delete_ent(a,b,c,d) Perl_hv_delete_ent(aTHX_ a,b,c,d)
-#define hv_exists(a,b,c)       Perl_hv_exists(aTHX_ a,b,c)
-#define hv_exists_ent(a,b,c)   Perl_hv_exists_ent(aTHX_ a,b,c)
-#define hv_fetch(a,b,c,d)      Perl_hv_fetch(aTHX_ a,b,c,d)
-#define hv_fetch_ent(a,b,c,d)  Perl_hv_fetch_ent(aTHX_ a,b,c,d)
+#define hv_common(a,b,c,d,e,f,g,h)     Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
+#define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f)
 #define hv_free_ent(a,b)       Perl_hv_free_ent(aTHX_ a,b)
 #define hv_iterinit(a)         Perl_hv_iterinit(aTHX_ a)
 #define hv_iterkey(a,b)                Perl_hv_iterkey(aTHX_ a,b)
 #define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b)
 #define hv_iterval(a,b)                Perl_hv_iterval(aTHX_ a,b)
 #define hv_ksplit(a,b)         Perl_hv_ksplit(aTHX_ a,b)
-#ifdef PERL_CORE
-#endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
 #ifdef PERL_CORE
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
-#define hv_store(a,b,c,d,e)    Perl_hv_store(aTHX_ a,b,c,d,e)
-#define hv_store_ent(a,b,c,d)  Perl_hv_store_ent(aTHX_ a,b,c,d)
-#define hv_store_flags(a,b,c,d,e,f)    Perl_hv_store_flags(aTHX_ a,b,c,d,e,f)
 #define hv_undef(a)            Perl_hv_undef(aTHX_ a)
 #define ibcmp(a,b,c)           Perl_ibcmp(aTHX_ a,b,c)
 #define ibcmp_locale(a,b,c)    Perl_ibcmp_locale(aTHX_ a,b,c)
 #define keyword(a,b,c)         Perl_keyword(aTHX_ a,b,c)
 #endif
 #define leave_scope(a)         Perl_leave_scope(aTHX_ a)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define lex_end()              Perl_lex_end(aTHX)
-#define lex_start(a)           Perl_lex_start(aTHX_ a)
 #endif
-#define op_null(a)             Perl_op_null(aTHX_ a)
 #ifdef PERL_CORE
+#define lex_start(a,b,c)       Perl_lex_start(aTHX_ a,b,c)
+#endif
+#define op_null(a)             Perl_op_null(aTHX_ a)
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define op_clear(a)            Perl_op_clear(aTHX_ a)
 #endif
 #define op_refcnt_lock()       Perl_op_refcnt_lock(aTHX)
 #endif
 #endif
 #define vmess(a,b)             Perl_vmess(aTHX_ a,b)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define qerror(a)              Perl_qerror(aTHX_ a)
 #endif
 #define sortsv(a,b,c)          Perl_sortsv(aTHX_ a,b,c)
 #define mg_set(a)              Perl_mg_set(aTHX_ a)
 #define mg_size(a)             Perl_mg_size(aTHX_ a)
 #define mini_mktime(a)         Perl_mini_mktime(aTHX_ a)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define mod(a,b)               Perl_mod(aTHX_ a,b)
+#endif
+#ifdef PERL_CORE
 #define mode_from_discipline(a)        Perl_mode_from_discipline(aTHX_ a)
 #endif
 #define moreswitches(a)                Perl_moreswitches(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)
+#ifdef USE_ITHREADS
 #define newPADOP(a,b,c)                Perl_newPADOP(aTHX_ a,b,c)
+#endif
 #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 vnewSVpvf(a,b)         Perl_vnewSVpvf(aTHX_ a,b)
 #define newSVrv(a,b)           Perl_newSVrv(aTHX_ a,b)
 #define newSVsv(a)             Perl_newSVsv(aTHX_ a)
+#define newSV_type(a)          Perl_newSV_type(aTHX_ a)
 #define newUNOP(a,b,c)         Perl_newUNOP(aTHX_ a,b,c)
 #define newWHENOP(a,b)         Perl_newWHENOP(aTHX_ a,b)
 #define newWHILEOP(a,b,c,d,e,f,g,h)    Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g,h)
 #define new_stackinfo(a,b)     Perl_new_stackinfo(aTHX_ a,b)
-#define scan_vstring(a,b)      Perl_scan_vstring(aTHX_ a,b)
+#define scan_vstring(a,b,c)    Perl_scan_vstring(aTHX_ a,b,c)
 #define scan_version(a,b,c)    Perl_scan_version(aTHX_ a,b,c)
 #define new_version(a)         Perl_new_version(aTHX_ a)
-#define upg_version(a)         Perl_upg_version(aTHX_ a)
+#define upg_version(a,b)       Perl_upg_version(aTHX_ a,b)
 #define vverify(a)             Perl_vverify(aTHX_ a)
 #define vnumify(a)             Perl_vnumify(aTHX_ a)
 #define vnormal(a)             Perl_vnormal(aTHX_ a)
 #define get_av(a,b)            Perl_get_av(aTHX_ a,b)
 #define get_hv(a,b)            Perl_get_hv(aTHX_ a,b)
 #define get_cv(a,b)            Perl_get_cv(aTHX_ a,b)
+#define get_cvn_flags(a,b,c)   Perl_get_cvn_flags(aTHX_ a,b,c)
 #define init_i18nl10n(a)       Perl_init_i18nl10n(aTHX_ a)
 #define init_i18nl14n(a)       Perl_init_i18nl14n(aTHX_ a)
 #define new_collate(a)         Perl_new_collate(aTHX_ a)
 #define refkids(a,b)           Perl_refkids(aTHX_ a,b)
 #endif
 #define regdump(a)             Perl_regdump(aTHX_ a)
+#define regdump(a)             Perl_regdump(aTHX_ a)
 #define regclass_swash(a,b,c,d,e)      Perl_regclass_swash(aTHX_ a,b,c,d,e)
 #define pregexec(a,b,c,d,e,f,g)        Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
 #define pregfree(a)            Perl_pregfree(aTHX_ a)
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_temp_copy(a)       Perl_reg_temp_copy(aTHX_ a)
+#endif
+#define regfree_internal(a)    Perl_regfree_internal(aTHX_ a)
+#define reg_stringify(a,b,c,d) Perl_reg_stringify(aTHX_ a,b,c,d)
 #if defined(USE_ITHREADS)
-#define regdupe(a,b)           Perl_regdupe(aTHX_ a,b)
+#define regdupe_internal(a,b)  Perl_regdupe_internal(aTHX_ a,b)
 #endif
-#define pregcomp(a,b,c)                Perl_pregcomp(aTHX_ a,b,c)
+#define pregcomp(a,b)          Perl_pregcomp(aTHX_ a,b)
+#define re_compile(a,b)                Perl_re_compile(aTHX_ a,b)
 #define re_intuit_start(a,b,c,d,e,f)   Perl_re_intuit_start(aTHX_ a,b,c,d,e,f)
 #define re_intuit_string(a)    Perl_re_intuit_string(aTHX_ a)
 #define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
 #define regnext(a)             Perl_regnext(aTHX_ a)
 #if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_named_buff(a,b,c,d)        Perl_reg_named_buff(aTHX_ a,b,c,d)
+#define reg_named_buff_iter(a,b,c)     Perl_reg_named_buff_iter(aTHX_ a,b,c)
+#endif
+#define reg_named_buff_fetch(a,b,c)    Perl_reg_named_buff_fetch(aTHX_ a,b,c)
+#define reg_named_buff_exists(a,b,c)   Perl_reg_named_buff_exists(aTHX_ a,b,c)
+#define reg_named_buff_firstkey(a,b)   Perl_reg_named_buff_firstkey(aTHX_ a,b)
+#define reg_named_buff_nextkey(a,b)    Perl_reg_named_buff_nextkey(aTHX_ a,b)
+#define reg_named_buff_scalar(a,b)     Perl_reg_named_buff_scalar(aTHX_ a,b)
+#define reg_named_buff_all(a,b)        Perl_reg_named_buff_all(aTHX_ a,b)
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_numbered_buff_fetch(a,b,c) Perl_reg_numbered_buff_fetch(aTHX_ a,b,c)
+#define reg_numbered_buff_store(a,b,c) Perl_reg_numbered_buff_store(aTHX_ a,b,c)
+#define reg_numbered_buff_length(a,b,c)        Perl_reg_numbered_buff_length(aTHX_ a,b,c)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reg_qr_package(a)      Perl_reg_qr_package(aTHX_ a)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define regprop(a,b,c)         Perl_regprop(aTHX_ a,b,c)
 #endif
 #define repeatcpy(a,b,c,d)     Perl_repeatcpy(aTHX_ a,b,c,d)
 #define savepv(a)              Perl_savepv(aTHX_ a)
 #define savepvn(a,b)           Perl_savepvn(aTHX_ a,b)
 #define savesharedpv(a)                Perl_savesharedpv(aTHX_ a)
+#define savesharedpvn(a,b)     Perl_savesharedpvn(aTHX_ a,b)
 #define savesvpv(a)            Perl_savesvpv(aTHX_ a)
 #define savestack_grow()       Perl_savestack_grow(aTHX)
 #define savestack_grow_cnt(a)  Perl_savestack_grow_cnt(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_hints()           Perl_save_hints(aTHX)
 #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 setenv_getix(a)                Perl_setenv_getix(aTHX_ a)
 #endif
 #endif
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define setdefout(a)           Perl_setdefout(aTHX_ a)
 #endif
 #define share_hek(a,b,c)       Perl_share_hek(aTHX_ a,b,c)
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #ifdef PERL_CORE
+#define sighandler             Perl_sighandler
 #endif
+#define csighandler            Perl_csighandler
 #else
 #ifdef PERL_CORE
 #define sighandler             Perl_sighandler
 #define sv_2iv_flags(a,b)      Perl_sv_2iv_flags(aTHX_ a,b)
 #define sv_2mortal(a)          Perl_sv_2mortal(aTHX_ a)
 #define sv_2nv(a)              Perl_sv_2nv(aTHX_ a)
+#ifdef PERL_CORE
+#define sv_2num(a)             Perl_sv_2num(aTHX_ a)
+#endif
 #define sv_2pv_flags(a,b,c)    Perl_sv_2pv_flags(aTHX_ a,b,c)
 #define sv_2pvutf8(a,b)                Perl_sv_2pvutf8(aTHX_ a,b)
 #define sv_2pvbyte(a,b)                Perl_sv_2pvbyte(aTHX_ a,b)
 #define unpack_str(a,b,c,d,e,f,g,h)    Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
 #define unpackstring(a,b,c,d,e)        Perl_unpackstring(aTHX_ a,b,c,d,e)
 #define unsharepvn(a,b,c)      Perl_unsharepvn(aTHX_ a,b,c)
-#if defined(PERL_CORE) || defined(PERL_EXT)
+#ifdef PERL_CORE
 #define unshare_hek(a)         Perl_unshare_hek(aTHX_ a)
 #endif
 #ifdef PERL_MAD
 #define uvuni_to_utf8_flags(a,b,c)     Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
 #define pv_uni_display(a,b,c,d,e)      Perl_pv_uni_display(aTHX_ a,b,c,d,e)
 #define sv_uni_display(a,b,c,d)        Perl_sv_uni_display(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
+#endif
+#ifdef PERL_CORE
 #define vivify_ref(a,b)                Perl_vivify_ref(aTHX_ a,b)
 #define wait4pid(a,b,c)                Perl_wait4pid(aTHX_ a,b,c)
 #define parse_unicode_opts(a)  Perl_parse_unicode_opts(aTHX_ a)
 #ifdef PERL_CORE
 #define get_hash_seed()                Perl_get_hash_seed(aTHX)
 #define report_evil_fh(a,b,c)  Perl_report_evil_fh(aTHX_ a,b,c)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define report_uninit(a)       Perl_report_uninit(aTHX_ a)
 #endif
 #define vwarn(a,b)             Perl_vwarn(aTHX_ a,b)
 #ifdef PERL_CORE
 #define write_to_stderr(a,b)   Perl_write_to_stderr(aTHX_ a,b)
 #define yyerror(a)             Perl_yyerror(aTHX_ a)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
 #define yylex()                        Perl_yylex(aTHX)
+#endif
+#ifdef PERL_CORE
 #define yyparse()              Perl_yyparse(aTHX)
+#define parser_free(a)         Perl_parser_free(aTHX_ a)
 #define yywarn(a)              Perl_yywarn(aTHX_ a)
 #endif
 #if defined(MYMALLOC)
 #define mg_dup(a,b)            Perl_mg_dup(aTHX_ a,b)
 #define sv_dup(a,b)            Perl_sv_dup(aTHX_ a,b)
 #define rvpv_dup(a,b,c)                Perl_rvpv_dup(aTHX_ a,b,c)
+#define parser_dup(a,b)                Perl_parser_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)
 #define ptr_table_clear(a)     Perl_ptr_table_clear(aTHX_ a)
 #define ptr_table_free(a)      Perl_ptr_table_free(aTHX_ a)
+#if defined(USE_ITHREADS)
 #  if defined(HAVE_INTERP_INTERN)
 #define sys_intern_dup(a,b)    Perl_sys_intern_dup(aTHX_ a,b)
 #  endif
 #endif
 #define custom_op_name(a)      Perl_custom_op_name(aTHX_ a)
 #define custom_op_desc(a)      Perl_custom_op_desc(aTHX_ a)
-#if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
-#define sv_release_IVX(a)      Perl_sv_release_IVX(aTHX_ a)
-#endif
-#endif
 #define sv_nosharing(a)                Perl_sv_nosharing(aTHX_ a)
+#define sv_destroyable(a)      Perl_sv_destroyable(aTHX_ a)
 #ifdef NO_MATHOMS
 #else
 #define sv_nounlocking(a)      Perl_sv_nounlocking(aTHX_ a)
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define gv_init_sv(a,b)                S_gv_init_sv(aTHX_ a,b)
-#define require_errno(a)       S_require_errno(aTHX_ a)
+#define gv_get_super_pkg(a,b)  S_gv_get_super_pkg(aTHX_ a,b)
+#define require_tie_mod(a,b,c,d,e)     S_require_tie_mod(aTHX_ a,b,c,d,e)
 #endif
 #endif
 #ifdef PERL_CORE
 #define hv_magic_check         S_hv_magic_check
 #define unshare_hek_or_pvn(a,b,c,d)    S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #define share_hek_flags(a,b,c,d)       S_share_hek_flags(aTHX_ a,b,c,d)
-#define hv_magic_uvar_xkey(a,b,c)      S_hv_magic_uvar_xkey(aTHX_ a,b,c)
 #define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
 #define hv_auxinit             S_hv_auxinit
 #define hv_delete_common(a,b,c,d,e,f,g)        S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
-#define hv_fetch_common(a,b,c,d,e,f,g,h)       S_hv_fetch_common(aTHX_ a,b,c,d,e,f,g,h)
 #define clear_placeholders(a,b)        S_clear_placeholders(aTHX_ a,b)
 #define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a)
 #endif
 #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_readline(a)         Perl_ck_readline(aTHX_ a)
 #define ck_repeat(a)           Perl_ck_repeat(aTHX_ a)
 #define ck_require(a)          Perl_ck_require(aTHX_ a)
 #define ck_retarget(a)         Perl_ck_retarget(aTHX_ a)
 #define ck_rfun(a)             Perl_ck_rfun(aTHX_ a)
 #define ck_rvconst(a)          Perl_ck_rvconst(aTHX_ a)
 #define ck_sassign(a)          Perl_ck_sassign(aTHX_ a)
-#define ck_say(a)              Perl_ck_say(aTHX_ a)
 #define ck_select(a)           Perl_ck_select(aTHX_ a)
 #define ck_shift(a)            Perl_ck_shift(aTHX_ a)
 #define ck_sort(a)             Perl_ck_sort(aTHX_ a)
 #define ck_unpack(a)           Perl_ck_unpack(aTHX_ a)
 #define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment(a)  S_is_list_assignment(aTHX_ a)
+#endif
+#  ifdef USE_ITHREADS
+#ifdef PERL_CORE
+#endif
+#  else
+#ifdef PERL_CORE
+#endif
+#  endif
+#ifdef PERL_CORE
+#define find_and_forget_pmops(a)       S_find_and_forget_pmops(aTHX_ a)
 #define cop_free(a)            S_cop_free(aTHX_ a)
 #define modkids(a,b)           S_modkids(aTHX_ a,b)
 #define scalarboolean(a)       S_scalarboolean(aTHX_ a)
 #define looks_like_bool(a)     S_looks_like_bool(aTHX_ a)
 #define newGIVWHENOP(a,b,c,d,e)        S_newGIVWHENOP(aTHX_ a,b,c,d,e)
 #define ref_array_or_hash(a)   S_ref_array_or_hash(aTHX_ a)
+#define process_special_blocks(a,b,c)  S_process_special_blocks(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc(a,b)                Perl_Slab_Alloc(aTHX_ a,b)
+#define Slab_Alloc(a)          Perl_Slab_Alloc(aTHX_ a)
 #define Slab_Free(a)           Perl_Slab_Free(aTHX_ a)
+#  if defined(PERL_DEBUG_READONLY_OPS)
+#ifdef PERL_CORE
+#endif
+#    if defined(PERL_IN_OP_C)
+#ifdef PERL_CORE
+#define Slab_to_rw(a)          S_Slab_to_rw(aTHX_ a)
+#endif
+#    endif
+#  endif
 #endif
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define find_beginning()       S_find_beginning(aTHX)
+#define find_beginning(a,b)    S_find_beginning(aTHX_ a,b)
 #define forbid_setid(a,b)      S_forbid_setid(aTHX_ a,b)
 #define incpush(a,b,c,d,e)     S_incpush(aTHX_ a,b,c,d,e)
 #define init_interp()          S_init_interp(aTHX)
 #define init_ids()             S_init_ids(aTHX)
-#define init_lexer()           S_init_lexer(aTHX)
 #define init_main_stash()      S_init_main_stash(aTHX)
 #define init_perllib()         S_init_perllib(aTHX)
 #define init_postdump_symbols(a,b,c)   S_init_postdump_symbols(aTHX_ a,b,c)
 #define init_predump_symbols() S_init_predump_symbols(aTHX)
 #define my_exit_jump()         S_my_exit_jump(aTHX)
 #define nuke_stacks()          S_nuke_stacks(aTHX)
-#define open_script(a,b,c,d)   S_open_script(aTHX_ a,b,c,d)
+#define open_script(a,b,c,d,e) S_open_script(aTHX_ a,b,c,d,e)
 #define usage(a)               S_usage(aTHX_ a)
-#define validate_suid(a,b,c,d) S_validate_suid(aTHX_ a,b,c,d)
+#define validate_suid(a,b,c,d,e,f)     S_validate_suid(aTHX_ a,b,c,d,e,f)
 #endif
 #  if defined(IAMSUID)
 #ifdef PERL_CORE
 #define refto(a)               S_refto(aTHX_ a)
 #endif
 #endif
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
 #if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define unpack_rec(a,b,c,d,e)  S_unpack_rec(aTHX_ a,b,c,d,e)
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch(a)             S_docatch(aTHX_ a)
-#define docatch_body()         S_docatch_body(aTHX)
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define num_overflow           S_num_overflow
 #define dopoptogiven(a)                S_dopoptogiven(aTHX_ a)
 #define dopoptolabel(a)                S_dopoptolabel(aTHX_ a)
 #define dopoptoloop(a)         S_dopoptoloop(aTHX_ a)
-#define dopoptosub(a)          S_dopoptosub(aTHX_ a)
 #define dopoptosub_at(a,b)     S_dopoptosub_at(aTHX_ a,b)
 #define dopoptowhen(a)         S_dopoptowhen(aTHX_ a)
 #define save_lines(a,b)                S_save_lines(aTHX_ a,b)
 #define doeval(a,b,c,d)                S_doeval(aTHX_ a,b,c,d)
-#define check_type_and_open(a,b)       S_check_type_and_open(aTHX_ a,b)
+#define check_type_and_open(a) S_check_type_and_open(aTHX_ a)
+#endif
+#ifndef PERL_DISABLE_PMC
+#ifdef PERL_CORE
 #define doopen_pm(a,b)         S_doopen_pm(aTHX_ a,b)
+#endif
+#endif
+#ifdef PERL_CORE
 #define path_is_absolute       S_path_is_absolute
 #define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
 #define make_matcher(a)                S_make_matcher(aTHX_ a)
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #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
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define doform(a,b,c)          S_doform(aTHX_ a,b,c)
-#define emulate_eaccess(a,b)   S_emulate_eaccess(aTHX_ a,b)
 #endif
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 #ifdef PERL_CORE
 #define regclass(a,b)          S_regclass(aTHX_ a,b)
 #define regcurly               S_regcurly
 #define reg_node(a,b)          S_reg_node(aTHX_ a,b)
+#define reg_recode(a,b)                S_reg_recode(aTHX_ a,b)
 #define regpiece(a,b,c)                S_regpiece(aTHX_ a,b,c)
 #define reg_namedseq(a,b)      S_reg_namedseq(aTHX_ a,b)
 #define reginsert(a,b,c,d)     S_reginsert(aTHX_ a,b,c,d)
 #define regtail(a,b,c,d)       S_regtail(aTHX_ a,b,c,d)
+#define reg_scan_name(a,b)     S_reg_scan_name(aTHX_ a,b)
 #define join_exact(a,b,c,d,e,f)        S_join_exact(aTHX_ a,b,c,d,e,f)
 #define regwhite               S_regwhite
 #define nextchar(a)            S_nextchar(aTHX_ a)
-#define scan_commit(a,b,c)     S_scan_commit(aTHX_ a,b,c)
+#define reg_skipcomment(a)     S_reg_skipcomment(aTHX_ a)
+#define scan_commit(a,b,c,d)   S_scan_commit(aTHX_ a,b,c,d)
 #define cl_anything            S_cl_anything
 #define cl_is_anything         S_cl_is_anything
 #define cl_init                        S_cl_init
 #define cl_init_zero           S_cl_init_zero
 #define cl_and                 S_cl_and
 #define cl_or                  S_cl_or
-#define study_chunk(a,b,c,d,e,f,g,h)   S_study_chunk(aTHX_ a,b,c,d,e,f,g,h)
+#define study_chunk(a,b,c,d,e,f,g,h,i,j,k)     S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
 #define add_data               S_add_data
 #endif
 #ifdef PERL_CORE
 #endif
 #  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
+#define regdump_extflags(a,b)  S_regdump_extflags(aTHX_ a,b)
 #define dumpuntil(a,b,c,d,e,f,g,h)     S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h)
 #define put_byte(a,b)          S_put_byte(aTHX_ a,b)
-#define dump_trie(a,b)         S_dump_trie(aTHX_ a,b)
-#define dump_trie_interim_list(a,b,c)  S_dump_trie_interim_list(aTHX_ a,b,c)
-#define dump_trie_interim_table(a,b,c) S_dump_trie_interim_table(aTHX_ a,b,c)
+#define dump_trie(a,b,c,d)     S_dump_trie(aTHX_ a,b,c,d)
+#define dump_trie_interim_list(a,b,c,d,e)      S_dump_trie_interim_list(aTHX_ a,b,c,d,e)
+#define dump_trie_interim_table(a,b,c,d,e)     S_dump_trie_interim_table(aTHX_ a,b,c,d,e)
 #define regtail_study(a,b,c,d) S_regtail_study(aTHX_ a,b,c,d)
 #endif
 #  endif
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch(a,b)          S_regmatch(aTHX_ a,b)
-#define regrepeat(a,b,c)       S_regrepeat(aTHX_ a,b,c)
+#define regrepeat(a,b,c,d)     S_regrepeat(aTHX_ a,b,c,d)
 #define regtry(a,b)            S_regtry(aTHX_ a,b)
 #define reginclass(a,b,c,d,e)  S_reginclass(aTHX_ a,b,c,d,e)
 #define regcppush(a)           S_regcppush(aTHX_ a)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reghopmaybe3           S_reghopmaybe3
 #define find_byclass(a,b,c,d,e)        S_find_byclass(aTHX_ a,b,c,d,e)
+#define swap_match_buff(a)     S_swap_match_buff(aTHX_ a)
 #define to_utf8_substr(a)      S_to_utf8_substr(aTHX_ a)
 #define to_byte_substr(a)      S_to_byte_substr(aTHX_ a)
+#define reg_check_named_buff_matched(a,b)      S_reg_check_named_buff_matched(aTHX_ a,b)
 #endif
 #  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define sv_pos_u2b_midway      S_sv_pos_u2b_midway
 #define sv_pos_u2b_cached(a,b,c,d,e,f,g)       S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
 #define utf8_mg_pos_cache_update(a,b,c,d,e)    S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
-#define sv_pos_b2u_forwards(a,b)       S_sv_pos_b2u_forwards(aTHX_ a,b)
 #define sv_pos_b2u_midway(a,b,c,d)     S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
-#define stringify_regexp(a,b,c)        S_stringify_regexp(aTHX_ a,b,c)
 #define F0convert              S_F0convert
 #endif
 #  if defined(PERL_OLD_COPY_ON_WRITE)
 #ifdef PERL_CORE
-#define sv_release_COW(a,b,c,d)        S_sv_release_COW(aTHX_ a,b,c,d)
+#define sv_release_COW(a,b,c)  S_sv_release_COW(aTHX_ a,b,c)
 #endif
 #  endif
 #ifdef PERL_CORE
 #define sv_2iuv_common(a)      S_sv_2iuv_common(aTHX_ a)
 #define glob_assign_glob(a,b,c)        S_glob_assign_glob(aTHX_ a,b,c)
 #define glob_assign_ref(a,b)   S_glob_assign_ref(aTHX_ a,b)
-#endif
-#  if defined(USE_ITHREADS)
-#ifdef PERL_CORE
 #define ptr_table_find         S_ptr_table_find
 #endif
-#  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define force_version(a,b)     S_force_version(aTHX_ a,b)
 #define force_word(a,b,c,d,e)  S_force_word(aTHX_ a,b,c,d,e)
 #define tokeq(a)               S_tokeq(aTHX_ a)
-#define pending_ident()                S_pending_ident(aTHX)
+#define readpipe_override()    S_readpipe_override(aTHX)
 #define scan_const(a)          S_scan_const(aTHX_ a)
 #define scan_formline(a)       S_scan_formline(aTHX_ a)
 #define scan_heredoc(a)                S_scan_heredoc(aTHX_ a)
 #define scan_subst(a)          S_scan_subst(aTHX_ a)
 #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 update_debugger_info(a,b,c)    S_update_debugger_info(aTHX_ a,b,c)
 #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 lop(a,b,c)             S_lop(aTHX_ a,b,c)
 #define missingterm(a)         S_missingterm(aTHX_ a)
 #define no_op(a,b)             S_no_op(aTHX_ a,b)
-#define set_csh()              S_set_csh(aTHX)
 #define sublex_done()          S_sublex_done(aTHX)
 #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 tokenize_use(a,b)      S_tokenize_use(aTHX_ a,b)
-#define new_constant(a,b,c,d,e,f)      S_new_constant(aTHX_ a,b,c,d,e,f)
 #define ao(a)                  S_ao(aTHX_ a)
-#define incl_perldb()          S_incl_perldb(aTHX)
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define isa_lookup(a,b,c,d,e)  S_isa_lookup(aTHX_ a,b,c,d,e)
+#define isa_lookup(a,b,c)      S_isa_lookup(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
 #define sv_copypv(a,b)         Perl_sv_copypv(aTHX_ a,b)
 #define my_atof2(a,b)          Perl_my_atof2(aTHX_ a,b)
 #define my_socketpair          Perl_my_socketpair
+#define my_dirfd(a)            Perl_my_dirfd(aTHX_ a)
 #ifdef PERL_OLD_COPY_ON_WRITE
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define sv_setsv_cow(a,b)      Perl_sv_setsv_cow(aTHX_ a,b)
 #endif
 #  endif
 #endif
-#ifdef PERL_CORE
 #define find_runcv(a)          Perl_find_runcv(aTHX_ a)
+#ifdef PERL_CORE
 #define free_tied_hv_pool()    Perl_free_tied_hv_pool(aTHX)
 #endif
 #if defined(DEBUGGING)
 #define my_clearenv()          Perl_my_clearenv(aTHX)
 #endif
 #ifdef PERL_IMPLICIT_CONTEXT
+#ifdef PERL_GLOBAL_STRUCT_PRIVATE
+#else
+#endif
 #endif
 #ifndef HAS_STRLCAT
 #endif
 #define madparse()             Perl_madparse(aTHX)
 #endif
 #endif
+#if !defined(HAS_SIGNBIT)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#endif
+#ifdef PERL_CORE
+#define mro_meta_init(a)       Perl_mro_meta_init(aTHX_ a)
+#endif
+#if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define mro_meta_dup(a,b)      Perl_mro_meta_dup(aTHX_ a,b)
+#endif
+#endif
+#define mro_get_linear_isa(a)  Perl_mro_get_linear_isa(aTHX_ a)
+#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mro_get_linear_isa_c3(a,b)     S_mro_get_linear_isa_c3(aTHX_ a,b)
+#define mro_get_linear_isa_dfs(a,b)    S_mro_get_linear_isa_dfs(aTHX_ a,b)
+#endif
+#endif
+#ifdef PERL_CORE
+#define mro_isa_changed_in(a)  Perl_mro_isa_changed_in(aTHX_ a)
+#endif
+#define mro_method_changed_in(a)       Perl_mro_method_changed_in(aTHX_ a)
+#ifdef PERL_CORE
+#define boot_core_mro()                Perl_boot_core_mro(aTHX)
+#endif
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
 #define ck_chdir(a)            Perl_ck_chdir(aTHX_ a)
 #define ck_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_readline(a)         Perl_ck_readline(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_say(a)              Perl_ck_say(aTHX_ a)
 #define ck_select(a)           Perl_ck_select(aTHX_ a)
 #define ck_shift(a)            Perl_ck_shift(aTHX_ a)
 #define ck_smartmatch(a)       Perl_ck_smartmatch(aTHX_ a)
 #define pp_not()               Perl_pp_not(aTHX)
 #define pp_null()              Perl_pp_null(aTHX)
 #define pp_oct()               Perl_pp_oct(aTHX)
+#define pp_once()              Perl_pp_once(aTHX)
 #define pp_open()              Perl_pp_open(aTHX)
 #define pp_open_dir()          Perl_pp_open_dir(aTHX)
 #define pp_or()                        Perl_pp_or(aTHX)
 #define pp_syswrite()          Perl_pp_syswrite(aTHX)
 #define pp_tell()              Perl_pp_tell(aTHX)
 #define pp_telldir()           Perl_pp_telldir(aTHX)
-#define pp_threadsv()          Perl_pp_threadsv(aTHX)
 #define pp_tie()               Perl_pp_tie(aTHX)
 #define pp_tied()              Perl_pp_tied(aTHX)
 #define pp_time()              Perl_pp_time(aTHX)