This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Avoid accessing free()d memory when calling reset in one thread, after
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 5f0c6b2..71ccb4d 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -3,7 +3,7 @@
  *    embed.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, 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.
@@ -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
 #ifdef PERL_CORE
 #define do_execfree            Perl_do_execfree
 #endif
+#ifdef PERL_IN_DOIO_C
+#ifdef PERL_CORE
+#define exec_failed            S_exec_failed
+#endif
+#endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 #ifdef PERL_CORE
 #define do_ipcctl              Perl_do_ipcctl
 #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 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 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_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_get     Perl_reg_named_buff_get
+#define reg_numbered_buff_get  Perl_reg_numbered_buff_get
+#define reg_qr_pkg             Perl_reg_qr_pkg
+#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 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_dec                 Perl_sv_dec
 #define sv_dump                        Perl_sv_dump
 #define sv_derived_from                Perl_sv_derived_from
+#define sv_does                        Perl_sv_does
 #define sv_eq                  Perl_sv_eq
 #define sv_free                        Perl_sv_free
 #ifdef PERL_CORE
 #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 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 sv_setsv_mg            Perl_sv_setsv_mg
 #define get_vtbl               Perl_get_vtbl
 #define pv_display             Perl_pv_display
+#define pv_escape              Perl_pv_escape
+#define pv_pretty              Perl_pv_pretty
 #define dump_indent            Perl_dump_indent
 #define dump_vindent           Perl_dump_vindent
 #define do_gv_dump             Perl_do_gv_dump
 #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
 #ifdef NO_MATHOMS
 #else
 #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 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
 #endif
 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
 #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
+#define forget_pmop            S_forget_pmop
+#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 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
 #define need_utf8              S_need_utf8
 #define first_symbol           S_first_symbol
 #define sv_exp_grow            S_sv_exp_grow
+#define bytes_to_uni           S_bytes_to_uni
 #endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #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
 #define sortcv                 S_sortcv
 #define sortcv_xsub            S_sortcv_xsub
 #define sortcv_stacked         S_sortcv_stacked
+#define qsortsvu               S_qsortsvu
 #endif
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #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 regoptail              S_regoptail
 #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
-#endif
-#  ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dumpuntil              S_dumpuntil
-#define put_byte               S_put_byte
-#endif
-#  endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
+#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
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regpposixcc            S_regpposixcc
 #define checkposixcc           S_checkposixcc
+#define make_trie              S_make_trie
+#define make_trie_failtable    S_make_trie_failtable
 #endif
+#  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define make_trie              S_make_trie
+#define dumpuntil              S_dumpuntil
+#define put_byte               S_put_byte
+#define dump_trie              S_dump_trie
+#define dump_trie_interim_list S_dump_trie_interim_list
+#define dump_trie_interim_table        S_dump_trie_interim_table
+#define regtail_study          S_regtail_study
 #endif
+#  endif
 #endif
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regcppush              S_regcppush
 #define regcppop               S_regcppop
 #define reghop3                        S_reghop3
+#endif
+#ifdef XXX_dmq
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reghop4                        S_reghop4
+#endif
+#endif
+#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 dump_exec_pos          S_dump_exec_pos
+#define debug_start_match      S_debug_start_match
+#endif
+#  endif
 #endif
 #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define deb_curcv              S_deb_curcv
 #define debprof                        S_debprof
 #define sequence               S_sequence
+#define sequence_tail          S_sequence_tail
 #define sequence_num           S_sequence_num
 #define pm_description         S_pm_description
 #endif
 #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
-#ifdef PERL_CORE
-#define find_hash_subscript    S_find_hash_subscript
-#define find_array_subscript   S_find_array_subscript
-#define find_uninit_var                S_find_uninit_var
-#endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #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
 #  if defined(DEBUGGING)
 #ifdef PERL_CORE
 #define tokereport             S_tokereport
+#define printbuf               S_printbuf
 #endif
 #  endif
 #endif
 #ifdef PERL_CORE
 #define magic_scalarpack       Perl_magic_scalarpack
 #endif
-#ifdef PERL_IN_SV_C
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
+#define find_hash_subscript    S_find_hash_subscript
+#define find_array_subscript   S_find_array_subscript
 #define find_uninit_var                S_find_uninit_var
 #endif
 #endif
 #define my_clearenv            Perl_my_clearenv
 #endif
 #ifdef PERL_IMPLICIT_CONTEXT
+#ifdef PERL_GLOBAL_STRUCT_PRIVATE
+#else
+#endif
+#endif
+#ifndef HAS_STRLCAT
+#endif
+#ifndef HAS_STRLCPY
 #endif
 #ifdef PERL_MAD
 #ifdef PERL_CORE
 #define madparse               Perl_madparse
 #endif
 #endif
+#if !defined(HAS_SIGNBIT)
+#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_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)
 #ifdef PERL_CORE
 #define do_execfree()          Perl_do_execfree(aTHX)
 #endif
+#ifdef PERL_IN_DOIO_C
+#ifdef PERL_CORE
+#define exec_failed(a,b,c)     S_exec_failed(aTHX_ a,b,c)
+#endif
+#endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 #ifdef PERL_CORE
 #define do_ipcctl(a,b,c)       Perl_do_ipcctl(aTHX_ a,b,c)
 #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)
 #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)
+#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 is_utf8_mark(a)                Perl_is_utf8_mark(aTHX_ a)
 #ifdef PERL_CORE
 #define jmaybe(a)              Perl_jmaybe(aTHX_ a)
-#define keyword(a,b)           Perl_keyword(aTHX_ a,b)
+#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)
+#endif
+#ifdef PERL_CORE
 #define lex_start(a)           Perl_lex_start(aTHX_ a)
 #endif
 #define op_null(a)             Perl_op_null(aTHX_ a)
-#ifdef PERL_CORE
+#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 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_internal(a,b)  Perl_regdupe_internal(aTHX_ a,b)
+#endif
 #define pregcomp(a,b,c)                Perl_pregcomp(aTHX_ a,b,c)
+#define re_compile(a,b,c)      Perl_re_compile(aTHX_ a,b,c)
 #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_get(a,b,c)      Perl_reg_named_buff_get(aTHX_ a,b,c)
+#define reg_numbered_buff_get(a,b,c)   Perl_reg_numbered_buff_get(aTHX_ a,b,c)
+#define reg_qr_pkg(a)          Perl_reg_qr_pkg(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 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)
 #define sv_dec(a)              Perl_sv_dec(aTHX_ a)
 #define sv_dump(a)             Perl_sv_dump(aTHX_ a)
 #define sv_derived_from(a,b)   Perl_sv_derived_from(aTHX_ a,b)
+#define sv_does(a,b)           Perl_sv_does(aTHX_ a,b)
 #define sv_eq(a,b)             Perl_sv_eq(aTHX_ a,b)
 #define sv_free(a)             Perl_sv_free(aTHX_ a)
 #ifdef PERL_CORE
 #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 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 sv_setsv_mg(a,b)       Perl_sv_setsv_mg(aTHX_ a,b)
 #define get_vtbl(a)            Perl_get_vtbl(aTHX_ a)
 #define pv_display(a,b,c,d,e)  Perl_pv_display(aTHX_ a,b,c,d,e)
+#define pv_escape(a,b,c,d,e,f) Perl_pv_escape(aTHX_ a,b,c,d,e,f)
+#define pv_pretty(a,b,c,d,e,f,g)       Perl_pv_pretty(aTHX_ a,b,c,d,e,f,g)
 #define dump_vindent(a,b,c,d)  Perl_dump_vindent(aTHX_ a,b,c,d)
 #define do_gv_dump(a,b,c,d)    Perl_do_gv_dump(aTHX_ a,b,c,d)
 #define do_gvgv_dump(a,b,c,d)  Perl_do_gvgv_dump(aTHX_ a,b,c,d)
 #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)
 #ifdef NO_MATHOMS
 #else
 #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 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
 #endif
 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
 #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)
+#define forget_pmop(a,b)       S_forget_pmop(aTHX_ a,b)
+#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 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)
 #define need_utf8              S_need_utf8
 #define first_symbol           S_first_symbol
 #define sv_exp_grow(a,b)       S_sv_exp_grow(aTHX_ a,b)
+#define bytes_to_uni           S_bytes_to_uni
 #endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #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
 #define sortcv(a,b)            S_sortcv(aTHX_ a,b)
 #define sortcv_xsub(a,b)       S_sortcv_xsub(aTHX_ a,b)
 #define sortcv_stacked(a,b)    S_sortcv_stacked(aTHX_ a,b)
+#define qsortsvu(a,b,c)                S_qsortsvu(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg(a,b,c)             S_reg(aTHX_ a,b,c)
+#define reg(a,b,c,d)           S_reg(aTHX_ a,b,c,d)
 #define reganode(a,b,c)                S_reganode(aTHX_ a,b,c)
-#define regatom(a,b)           S_regatom(aTHX_ a,b)
-#define regbranch(a,b,c)       S_regbranch(aTHX_ a,b,c)
-#define reguni(a,b,c,d)                S_reguni(aTHX_ a,b,c,d)
-#define regclass(a)            S_regclass(aTHX_ a)
+#define regatom(a,b,c)         S_regatom(aTHX_ a,b,c)
+#define regbranch(a,b,c,d)     S_regbranch(aTHX_ a,b,c,d)
+#define reguni(a,b,c)          S_reguni(aTHX_ a,b,c)
+#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 regpiece(a,b)          S_regpiece(aTHX_ a,b)
-#define reginsert(a,b,c)       S_reginsert(aTHX_ a,b,c)
-#define regoptail(a,b,c)       S_regoptail(aTHX_ a,b,c)
-#define regtail(a,b,c)         S_regtail(aTHX_ a,b,c)
+#define 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)
-#endif
-#  ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dumpuntil(a,b,c,d,e,f) S_dumpuntil(aTHX_ a,b,c,d,e,f)
-#define put_byte(a,b)          S_put_byte(aTHX_ a,b)
-#endif
-#  endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define scan_commit(a,b)       S_scan_commit(aTHX_ a,b)
+#define 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)     S_study_chunk(aTHX_ a,b,c,d,e,f,g)
+#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
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regpposixcc(a,b)       S_regpposixcc(aTHX_ a,b)
 #define checkposixcc(a)                S_checkposixcc(aTHX_ a)
+#define make_trie(a,b,c,d,e,f,g,h)     S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
+#define make_trie_failtable(a,b,c,d)   S_make_trie_failtable(aTHX_ a,b,c,d)
 #endif
+#  ifdef DEBUGGING
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define make_trie(a,b,c,d,e,f) S_make_trie(aTHX_ a,b,c,d,e,f)
+#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,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
 #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)
 #define regcppop(a)            S_regcppop(aTHX_ a)
 #define reghop3                        S_reghop3
+#endif
+#ifdef XXX_dmq
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define reghop4                        S_reghop4
+#endif
+#endif
+#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 dump_exec_pos(a,b,c,d,e,f)     S_dump_exec_pos(aTHX_ a,b,c,d,e,f)
+#define debug_start_match(a,b,c,d,e)   S_debug_start_match(aTHX_ a,b,c,d,e)
+#endif
+#  endif
 #endif
 #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define deb_curcv(a)           S_deb_curcv(aTHX_ a)
 #define debprof(a)             S_debprof(aTHX_ a)
 #define sequence(a)            S_sequence(aTHX_ a)
+#define sequence_tail(a)       S_sequence_tail(aTHX_ a)
 #define sequence_num(a)                S_sequence_num(aTHX_ a)
 #define pm_description(a)      S_pm_description(aTHX_ a)
 #endif
 #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
-#ifdef PERL_CORE
-#define find_hash_subscript(a,b)       S_find_hash_subscript(aTHX_ a,b)
-#define find_array_subscript(a,b)      S_find_array_subscript(aTHX_ a,b)
-#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
-#endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #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)
 #  if defined(DEBUGGING)
 #ifdef PERL_CORE
 #define tokereport(a)          S_tokereport(aTHX_ a)
+#define printbuf(a,b)          S_printbuf(aTHX_ a,b)
 #endif
 #  endif
 #endif
 #ifdef PERL_CORE
 #define pad_new(a)             Perl_pad_new(aTHX_ a)
 #define pad_undef(a)           Perl_pad_undef(aTHX_ a)
-#define pad_add_name(a,b,c,d)  Perl_pad_add_name(aTHX_ a,b,c,d)
+#define pad_add_name(a,b,c,d,e)        Perl_pad_add_name(aTHX_ a,b,c,d,e)
 #define pad_add_anon(a,b)      Perl_pad_add_anon(aTHX_ a,b)
 #define pad_check_dup(a,b,c)   Perl_pad_check_dup(aTHX_ a,b,c)
 #endif
 #ifdef PERL_CORE
 #define magic_scalarpack(a,b)  Perl_magic_scalarpack(aTHX_ a,b)
 #endif
-#ifdef PERL_IN_SV_C
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
+#define find_hash_subscript(a,b)       S_find_hash_subscript(aTHX_ a,b)
+#define find_array_subscript(a,b)      S_find_array_subscript(aTHX_ a,b)
 #define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
 #endif
 #endif
 #define my_clearenv()          Perl_my_clearenv(aTHX)
 #endif
 #ifdef PERL_IMPLICIT_CONTEXT
+#ifdef PERL_GLOBAL_STRUCT_PRIVATE
+#else
+#endif
+#endif
+#ifndef HAS_STRLCAT
+#endif
+#ifndef HAS_STRLCPY
 #endif
 #ifdef PERL_MAD
 #ifdef PERL_CORE
 #define madparse()             Perl_madparse(aTHX)
 #endif
 #endif
+#if !defined(HAS_SIGNBIT)
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#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_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)