This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate cfgperl contents into mainline
[perl5.git] / objXSUB.h
index ec66e5f..c3faf68 100644 (file)
--- a/objXSUB.h
+++ b/objXSUB.h
 /* Variables */
 
 #undef  PL_Argv
-#define PL_Argv                        pPerl->PL_Argv
+#define PL_Argv                        (*Perl_IArgv_ptr(aTHXo))
 #undef  PL_Cmd
-#define PL_Cmd                 pPerl->PL_Cmd
+#define PL_Cmd                 (*Perl_ICmd_ptr(aTHXo))
 #undef  PL_DBcv
-#define PL_DBcv                        pPerl->PL_DBcv
+#define PL_DBcv                        (*Perl_IDBcv_ptr(aTHXo))
 #undef  PL_DBgv
-#define PL_DBgv                        pPerl->PL_DBgv
+#define PL_DBgv                        (*Perl_IDBgv_ptr(aTHXo))
 #undef  PL_DBline
-#define PL_DBline              pPerl->PL_DBline
+#define PL_DBline              (*Perl_IDBline_ptr(aTHXo))
 #undef  PL_DBsignal
-#define PL_DBsignal            pPerl->PL_DBsignal
+#define PL_DBsignal            (*Perl_IDBsignal_ptr(aTHXo))
 #undef  PL_DBsingle
-#define PL_DBsingle            pPerl->PL_DBsingle
+#define PL_DBsingle            (*Perl_IDBsingle_ptr(aTHXo))
 #undef  PL_DBsub
-#define PL_DBsub               pPerl->PL_DBsub
+#define PL_DBsub               (*Perl_IDBsub_ptr(aTHXo))
 #undef  PL_DBtrace
-#define PL_DBtrace             pPerl->PL_DBtrace
-#undef  PL_No
-#define PL_No                  pPerl->PL_No
-#undef  PL_Sv
-#define PL_Sv                  pPerl->PL_Sv
-#undef  PL_Xpv
-#define PL_Xpv                 pPerl->PL_Xpv
-#undef  PL_Yes
-#define PL_Yes                 pPerl->PL_Yes
+#define PL_DBtrace             (*Perl_IDBtrace_ptr(aTHXo))
+#undef  PL_Dir
+#define PL_Dir                 (*Perl_IDir_ptr(aTHXo))
+#undef  PL_Env
+#define PL_Env                 (*Perl_IEnv_ptr(aTHXo))
+#undef  PL_LIO
+#define PL_LIO                 (*Perl_ILIO_ptr(aTHXo))
+#undef  PL_Mem
+#define PL_Mem                 (*Perl_IMem_ptr(aTHXo))
+#undef  PL_Proc
+#define PL_Proc                        (*Perl_IProc_ptr(aTHXo))
+#undef  PL_Sock
+#define PL_Sock                        (*Perl_ISock_ptr(aTHXo))
+#undef  PL_StdIO
+#define PL_StdIO               (*Perl_IStdIO_ptr(aTHXo))
 #undef  PL_amagic_generation
-#define PL_amagic_generation   pPerl->PL_amagic_generation
+#define PL_amagic_generation   (*Perl_Iamagic_generation_ptr(aTHXo))
 #undef  PL_ampergv
-#define PL_ampergv             pPerl->PL_ampergv
+#define PL_ampergv             (*Perl_Iampergv_ptr(aTHXo))
 #undef  PL_an
-#define PL_an                  pPerl->PL_an
+#define PL_an                  (*Perl_Ian_ptr(aTHXo))
 #undef  PL_archpat_auto
-#define PL_archpat_auto                pPerl->PL_archpat_auto
+#define PL_archpat_auto                (*Perl_Iarchpat_auto_ptr(aTHXo))
 #undef  PL_argvgv
-#define PL_argvgv              pPerl->PL_argvgv
+#define PL_argvgv              (*Perl_Iargvgv_ptr(aTHXo))
 #undef  PL_argvoutgv
-#define PL_argvoutgv           pPerl->PL_argvoutgv
-#undef  PL_av_fetch_sv
-#define PL_av_fetch_sv         pPerl->PL_av_fetch_sv
+#define PL_argvoutgv           (*Perl_Iargvoutgv_ptr(aTHXo))
 #undef  PL_basetime
-#define PL_basetime            pPerl->PL_basetime
+#define PL_basetime            (*Perl_Ibasetime_ptr(aTHXo))
 #undef  PL_beginav
-#define PL_beginav             pPerl->PL_beginav
+#define PL_beginav             (*Perl_Ibeginav_ptr(aTHXo))
 #undef  PL_bitcount
-#define PL_bitcount            pPerl->PL_bitcount
-#undef  PL_bodytarget
-#define PL_bodytarget          pPerl->PL_bodytarget
-#undef  PL_bostr
-#define PL_bostr               pPerl->PL_bostr
+#define PL_bitcount            (*Perl_Ibitcount_ptr(aTHXo))
 #undef  PL_bufend
-#define PL_bufend              pPerl->PL_bufend
+#define PL_bufend              (*Perl_Ibufend_ptr(aTHXo))
 #undef  PL_bufptr
-#define PL_bufptr              pPerl->PL_bufptr
+#define PL_bufptr              (*Perl_Ibufptr_ptr(aTHXo))
 #undef  PL_cddir
-#define PL_cddir               pPerl->PL_cddir
-#undef  PL_chopset
-#define PL_chopset             pPerl->PL_chopset
+#define PL_cddir               (*Perl_Icddir_ptr(aTHXo))
 #undef  PL_collation_ix
-#define PL_collation_ix                pPerl->PL_collation_ix
+#define PL_collation_ix                (*Perl_Icollation_ix_ptr(aTHXo))
 #undef  PL_collation_name
-#define PL_collation_name      pPerl->PL_collation_name
+#define PL_collation_name      (*Perl_Icollation_name_ptr(aTHXo))
 #undef  PL_collation_standard
-#define PL_collation_standard  pPerl->PL_collation_standard
+#define PL_collation_standard  (*Perl_Icollation_standard_ptr(aTHXo))
 #undef  PL_collxfrm_base
-#define PL_collxfrm_base       pPerl->PL_collxfrm_base
+#define PL_collxfrm_base       (*Perl_Icollxfrm_base_ptr(aTHXo))
 #undef  PL_collxfrm_mult
-#define PL_collxfrm_mult       pPerl->PL_collxfrm_mult
-#undef  PL_colors
-#define PL_colors              pPerl->PL_colors
-#undef  PL_colorset
-#define PL_colorset            pPerl->PL_colorset
+#define PL_collxfrm_mult       (*Perl_Icollxfrm_mult_ptr(aTHXo))
 #undef  PL_compcv
-#define PL_compcv              pPerl->PL_compcv
+#define PL_compcv              (*Perl_Icompcv_ptr(aTHXo))
 #undef  PL_compiling
-#define PL_compiling           pPerl->PL_compiling
+#define PL_compiling           (*Perl_Icompiling_ptr(aTHXo))
 #undef  PL_comppad
-#define PL_comppad             pPerl->PL_comppad
+#define PL_comppad             (*Perl_Icomppad_ptr(aTHXo))
 #undef  PL_comppad_name
-#define PL_comppad_name                pPerl->PL_comppad_name
+#define PL_comppad_name                (*Perl_Icomppad_name_ptr(aTHXo))
 #undef  PL_comppad_name_fill
-#define PL_comppad_name_fill   pPerl->PL_comppad_name_fill
+#define PL_comppad_name_fill   (*Perl_Icomppad_name_fill_ptr(aTHXo))
 #undef  PL_comppad_name_floor
-#define PL_comppad_name_floor  pPerl->PL_comppad_name_floor
+#define PL_comppad_name_floor  (*Perl_Icomppad_name_floor_ptr(aTHXo))
 #undef  PL_cop_seqmax
-#define PL_cop_seqmax          pPerl->PL_cop_seqmax
+#define PL_cop_seqmax          (*Perl_Icop_seqmax_ptr(aTHXo))
 #undef  PL_copline
-#define PL_copline             pPerl->PL_copline
+#define PL_copline             (*Perl_Icopline_ptr(aTHXo))
 #undef  PL_cred_mutex
-#define PL_cred_mutex          pPerl->PL_cred_mutex
+#define PL_cred_mutex          (*Perl_Icred_mutex_ptr(aTHXo))
 #undef  PL_cryptseen
-#define PL_cryptseen           pPerl->PL_cryptseen
+#define PL_cryptseen           (*Perl_Icryptseen_ptr(aTHXo))
 #undef  PL_cshlen
-#define PL_cshlen              pPerl->PL_cshlen
+#define PL_cshlen              (*Perl_Icshlen_ptr(aTHXo))
 #undef  PL_cshname
-#define PL_cshname             pPerl->PL_cshname
-#undef  PL_curcop
-#define PL_curcop              pPerl->PL_curcop
+#define PL_cshname             (*Perl_Icshname_ptr(aTHXo))
 #undef  PL_curcopdb
-#define PL_curcopdb            pPerl->PL_curcopdb
-#undef  PL_curinterp
-#define PL_curinterp           pPerl->PL_curinterp
-#undef  PL_curpad
-#define PL_curpad              pPerl->PL_curpad
-#undef  PL_curpm
-#define PL_curpm               pPerl->PL_curpm
-#undef  PL_curstack
-#define PL_curstack            pPerl->PL_curstack
-#undef  PL_curstackinfo
-#define PL_curstackinfo                pPerl->PL_curstackinfo
-#undef  PL_curstash
-#define PL_curstash            pPerl->PL_curstash
+#define PL_curcopdb            (*Perl_Icurcopdb_ptr(aTHXo))
 #undef  PL_curstname
-#define PL_curstname           pPerl->PL_curstname
+#define PL_curstname           (*Perl_Icurstname_ptr(aTHXo))
 #undef  PL_curthr
-#define PL_curthr              pPerl->PL_curthr
+#define PL_curthr              (*Perl_Icurthr_ptr(aTHXo))
 #undef  PL_dbargs
-#define PL_dbargs              pPerl->PL_dbargs
+#define PL_dbargs              (*Perl_Idbargs_ptr(aTHXo))
 #undef  PL_debdelim
-#define PL_debdelim            pPerl->PL_debdelim
+#define PL_debdelim            (*Perl_Idebdelim_ptr(aTHXo))
 #undef  PL_debname
-#define PL_debname             pPerl->PL_debname
+#define PL_debname             (*Perl_Idebname_ptr(aTHXo))
 #undef  PL_debstash
-#define PL_debstash            pPerl->PL_debstash
+#define PL_debstash            (*Perl_Idebstash_ptr(aTHXo))
 #undef  PL_debug
-#define PL_debug               pPerl->PL_debug
+#define PL_debug               (*Perl_Idebug_ptr(aTHXo))
 #undef  PL_defgv
-#define PL_defgv               pPerl->PL_defgv
-#undef  PL_defoutgv
-#define PL_defoutgv            pPerl->PL_defoutgv
-#undef  PL_defstash
-#define PL_defstash            pPerl->PL_defstash
-#undef  PL_delaymagic
-#define PL_delaymagic          pPerl->PL_delaymagic
+#define PL_defgv               (*Perl_Idefgv_ptr(aTHXo))
 #undef  PL_diehook
-#define PL_diehook             pPerl->PL_diehook
-#undef  PL_dirty
-#define PL_dirty               pPerl->PL_dirty
+#define PL_diehook             (*Perl_Idiehook_ptr(aTHXo))
 #undef  PL_dlevel
-#define PL_dlevel              pPerl->PL_dlevel
+#define PL_dlevel              (*Perl_Idlevel_ptr(aTHXo))
 #undef  PL_dlmax
-#define PL_dlmax               pPerl->PL_dlmax
-#undef  PL_do_undump
-#define PL_do_undump           pPerl->PL_do_undump
+#define PL_dlmax               (*Perl_Idlmax_ptr(aTHXo))
 #undef  PL_doextract
-#define PL_doextract           pPerl->PL_doextract
+#define PL_doextract           (*Perl_Idoextract_ptr(aTHXo))
 #undef  PL_doswitches
-#define PL_doswitches          pPerl->PL_doswitches
+#define PL_doswitches          (*Perl_Idoswitches_ptr(aTHXo))
 #undef  PL_dowarn
-#define PL_dowarn              pPerl->PL_dowarn
-#undef  PL_dumpindent
-#define PL_dumpindent          pPerl->PL_dumpindent
+#define PL_dowarn              (*Perl_Idowarn_ptr(aTHXo))
 #undef  PL_e_script
-#define PL_e_script            pPerl->PL_e_script
+#define PL_e_script            (*Perl_Ie_script_ptr(aTHXo))
 #undef  PL_efloatbuf
-#define PL_efloatbuf           pPerl->PL_efloatbuf
+#define PL_efloatbuf           (*Perl_Iefloatbuf_ptr(aTHXo))
 #undef  PL_efloatsize
-#define PL_efloatsize          pPerl->PL_efloatsize
+#define PL_efloatsize          (*Perl_Iefloatsize_ptr(aTHXo))
 #undef  PL_egid
-#define PL_egid                        pPerl->PL_egid
+#define PL_egid                        (*Perl_Iegid_ptr(aTHXo))
 #undef  PL_endav
-#define PL_endav               pPerl->PL_endav
+#define PL_endav               (*Perl_Iendav_ptr(aTHXo))
 #undef  PL_envgv
-#define PL_envgv               pPerl->PL_envgv
+#define PL_envgv               (*Perl_Ienvgv_ptr(aTHXo))
 #undef  PL_errgv
-#define PL_errgv               pPerl->PL_errgv
+#define PL_errgv               (*Perl_Ierrgv_ptr(aTHXo))
 #undef  PL_error_count
-#define PL_error_count         pPerl->PL_error_count
+#define PL_error_count         (*Perl_Ierror_count_ptr(aTHXo))
 #undef  PL_euid
-#define PL_euid                        pPerl->PL_euid
+#define PL_euid                        (*Perl_Ieuid_ptr(aTHXo))
 #undef  PL_eval_cond
-#define PL_eval_cond           pPerl->PL_eval_cond
+#define PL_eval_cond           (*Perl_Ieval_cond_ptr(aTHXo))
 #undef  PL_eval_mutex
-#define PL_eval_mutex          pPerl->PL_eval_mutex
+#define PL_eval_mutex          (*Perl_Ieval_mutex_ptr(aTHXo))
 #undef  PL_eval_owner
-#define PL_eval_owner          pPerl->PL_eval_owner
+#define PL_eval_owner          (*Perl_Ieval_owner_ptr(aTHXo))
 #undef  PL_eval_root
-#define PL_eval_root           pPerl->PL_eval_root
+#define PL_eval_root           (*Perl_Ieval_root_ptr(aTHXo))
 #undef  PL_eval_start
-#define PL_eval_start          pPerl->PL_eval_start
+#define PL_eval_start          (*Perl_Ieval_start_ptr(aTHXo))
 #undef  PL_evalseq
-#define PL_evalseq             pPerl->PL_evalseq
+#define PL_evalseq             (*Perl_Ievalseq_ptr(aTHXo))
 #undef  PL_exitlist
-#define PL_exitlist            pPerl->PL_exitlist
+#define PL_exitlist            (*Perl_Iexitlist_ptr(aTHXo))
 #undef  PL_exitlistlen
-#define PL_exitlistlen         pPerl->PL_exitlistlen
+#define PL_exitlistlen         (*Perl_Iexitlistlen_ptr(aTHXo))
 #undef  PL_expect
-#define PL_expect              pPerl->PL_expect
-#undef  PL_extralen
-#define PL_extralen            pPerl->PL_extralen
+#define PL_expect              (*Perl_Iexpect_ptr(aTHXo))
 #undef  PL_fdpid
-#define PL_fdpid               pPerl->PL_fdpid
+#define PL_fdpid               (*Perl_Ifdpid_ptr(aTHXo))
 #undef  PL_filemode
-#define PL_filemode            pPerl->PL_filemode
+#define PL_filemode            (*Perl_Ifilemode_ptr(aTHXo))
 #undef  PL_filter_debug
-#define PL_filter_debug                pPerl->PL_filter_debug
-#undef  PL_firstgv
-#define PL_firstgv             pPerl->PL_firstgv
+#define PL_filter_debug                (*Perl_Ifilter_debug_ptr(aTHXo))
 #undef  PL_forkprocess
-#define PL_forkprocess         pPerl->PL_forkprocess
+#define PL_forkprocess         (*Perl_Iforkprocess_ptr(aTHXo))
 #undef  PL_formfeed
-#define PL_formfeed            pPerl->PL_formfeed
-#undef  PL_formtarget
-#define PL_formtarget          pPerl->PL_formtarget
+#define PL_formfeed            (*Perl_Iformfeed_ptr(aTHXo))
 #undef  PL_generation
-#define PL_generation          pPerl->PL_generation
+#define PL_generation          (*Perl_Igeneration_ptr(aTHXo))
 #undef  PL_gensym
-#define PL_gensym              pPerl->PL_gensym
+#define PL_gensym              (*Perl_Igensym_ptr(aTHXo))
 #undef  PL_gid
-#define PL_gid                 pPerl->PL_gid
+#define PL_gid                 (*Perl_Igid_ptr(aTHXo))
 #undef  PL_glob_index
-#define PL_glob_index          pPerl->PL_glob_index
+#define PL_glob_index          (*Perl_Iglob_index_ptr(aTHXo))
 #undef  PL_globalstash
-#define PL_globalstash         pPerl->PL_globalstash
+#define PL_globalstash         (*Perl_Iglobalstash_ptr(aTHXo))
 #undef  PL_he_root
-#define PL_he_root             pPerl->PL_he_root
-#undef  PL_hexdigit
-#define PL_hexdigit            pPerl->PL_hexdigit
+#define PL_he_root             (*Perl_Ihe_root_ptr(aTHXo))
 #undef  PL_hintgv
-#define PL_hintgv              pPerl->PL_hintgv
+#define PL_hintgv              (*Perl_Ihintgv_ptr(aTHXo))
 #undef  PL_hints
-#define PL_hints               pPerl->PL_hints
-#undef  PL_hv_fetch_ent_mh
-#define PL_hv_fetch_ent_mh     pPerl->PL_hv_fetch_ent_mh
-#undef  PL_hv_fetch_sv
-#define PL_hv_fetch_sv         pPerl->PL_hv_fetch_sv
+#define PL_hints               (*Perl_Ihints_ptr(aTHXo))
 #undef  PL_in_clean_all
-#define PL_in_clean_all                pPerl->PL_in_clean_all
+#define PL_in_clean_all                (*Perl_Iin_clean_all_ptr(aTHXo))
 #undef  PL_in_clean_objs
-#define PL_in_clean_objs       pPerl->PL_in_clean_objs
-#undef  PL_in_eval
-#define PL_in_eval             pPerl->PL_in_eval
+#define PL_in_clean_objs       (*Perl_Iin_clean_objs_ptr(aTHXo))
 #undef  PL_in_my
-#define PL_in_my               pPerl->PL_in_my
+#define PL_in_my               (*Perl_Iin_my_ptr(aTHXo))
 #undef  PL_in_my_stash
-#define PL_in_my_stash         pPerl->PL_in_my_stash
+#define PL_in_my_stash         (*Perl_Iin_my_stash_ptr(aTHXo))
 #undef  PL_incgv
-#define PL_incgv               pPerl->PL_incgv
+#define PL_incgv               (*Perl_Iincgv_ptr(aTHXo))
 #undef  PL_initav
-#define PL_initav              pPerl->PL_initav
+#define PL_initav              (*Perl_Iinitav_ptr(aTHXo))
 #undef  PL_inplace
-#define PL_inplace             pPerl->PL_inplace
-#undef  PL_last_in_gv
-#define PL_last_in_gv          pPerl->PL_last_in_gv
+#define PL_inplace             (*Perl_Iinplace_ptr(aTHXo))
 #undef  PL_last_lop
-#define PL_last_lop            pPerl->PL_last_lop
+#define PL_last_lop            (*Perl_Ilast_lop_ptr(aTHXo))
 #undef  PL_last_lop_op
-#define PL_last_lop_op         pPerl->PL_last_lop_op
+#define PL_last_lop_op         (*Perl_Ilast_lop_op_ptr(aTHXo))
 #undef  PL_last_swash_hv
-#define PL_last_swash_hv       pPerl->PL_last_swash_hv
+#define PL_last_swash_hv       (*Perl_Ilast_swash_hv_ptr(aTHXo))
 #undef  PL_last_swash_key
-#define PL_last_swash_key      pPerl->PL_last_swash_key
+#define PL_last_swash_key      (*Perl_Ilast_swash_key_ptr(aTHXo))
 #undef  PL_last_swash_klen
-#define PL_last_swash_klen     pPerl->PL_last_swash_klen
+#define PL_last_swash_klen     (*Perl_Ilast_swash_klen_ptr(aTHXo))
 #undef  PL_last_swash_slen
-#define PL_last_swash_slen     pPerl->PL_last_swash_slen
+#define PL_last_swash_slen     (*Perl_Ilast_swash_slen_ptr(aTHXo))
 #undef  PL_last_swash_tmps
-#define PL_last_swash_tmps     pPerl->PL_last_swash_tmps
+#define PL_last_swash_tmps     (*Perl_Ilast_swash_tmps_ptr(aTHXo))
 #undef  PL_last_uni
-#define PL_last_uni            pPerl->PL_last_uni
+#define PL_last_uni            (*Perl_Ilast_uni_ptr(aTHXo))
 #undef  PL_lastfd
-#define PL_lastfd              pPerl->PL_lastfd
-#undef  PL_lastgotoprobe
-#define PL_lastgotoprobe       pPerl->PL_lastgotoprobe
-#undef  PL_lastscream
-#define PL_lastscream          pPerl->PL_lastscream
+#define PL_lastfd              (*Perl_Ilastfd_ptr(aTHXo))
 #undef  PL_lastsize
-#define PL_lastsize            pPerl->PL_lastsize
+#define PL_lastsize            (*Perl_Ilastsize_ptr(aTHXo))
 #undef  PL_lastspbase
-#define PL_lastspbase          pPerl->PL_lastspbase
+#define PL_lastspbase          (*Perl_Ilastspbase_ptr(aTHXo))
 #undef  PL_laststatval
-#define PL_laststatval         pPerl->PL_laststatval
+#define PL_laststatval         (*Perl_Ilaststatval_ptr(aTHXo))
 #undef  PL_laststype
-#define PL_laststype           pPerl->PL_laststype
+#define PL_laststype           (*Perl_Ilaststype_ptr(aTHXo))
 #undef  PL_leftgv
-#define PL_leftgv              pPerl->PL_leftgv
+#define PL_leftgv              (*Perl_Ileftgv_ptr(aTHXo))
 #undef  PL_lex_brackets
-#define PL_lex_brackets                pPerl->PL_lex_brackets
+#define PL_lex_brackets                (*Perl_Ilex_brackets_ptr(aTHXo))
 #undef  PL_lex_brackstack
-#define PL_lex_brackstack      pPerl->PL_lex_brackstack
+#define PL_lex_brackstack      (*Perl_Ilex_brackstack_ptr(aTHXo))
 #undef  PL_lex_casemods
-#define PL_lex_casemods                pPerl->PL_lex_casemods
+#define PL_lex_casemods                (*Perl_Ilex_casemods_ptr(aTHXo))
 #undef  PL_lex_casestack
-#define PL_lex_casestack       pPerl->PL_lex_casestack
+#define PL_lex_casestack       (*Perl_Ilex_casestack_ptr(aTHXo))
 #undef  PL_lex_defer
-#define PL_lex_defer           pPerl->PL_lex_defer
+#define PL_lex_defer           (*Perl_Ilex_defer_ptr(aTHXo))
 #undef  PL_lex_dojoin
-#define PL_lex_dojoin          pPerl->PL_lex_dojoin
+#define PL_lex_dojoin          (*Perl_Ilex_dojoin_ptr(aTHXo))
 #undef  PL_lex_expect
-#define PL_lex_expect          pPerl->PL_lex_expect
+#define PL_lex_expect          (*Perl_Ilex_expect_ptr(aTHXo))
 #undef  PL_lex_fakebrack
-#define PL_lex_fakebrack       pPerl->PL_lex_fakebrack
+#define PL_lex_fakebrack       (*Perl_Ilex_fakebrack_ptr(aTHXo))
 #undef  PL_lex_formbrack
-#define PL_lex_formbrack       pPerl->PL_lex_formbrack
+#define PL_lex_formbrack       (*Perl_Ilex_formbrack_ptr(aTHXo))
 #undef  PL_lex_inpat
-#define PL_lex_inpat           pPerl->PL_lex_inpat
+#define PL_lex_inpat           (*Perl_Ilex_inpat_ptr(aTHXo))
 #undef  PL_lex_inwhat
-#define PL_lex_inwhat          pPerl->PL_lex_inwhat
+#define PL_lex_inwhat          (*Perl_Ilex_inwhat_ptr(aTHXo))
 #undef  PL_lex_op
-#define PL_lex_op              pPerl->PL_lex_op
+#define PL_lex_op              (*Perl_Ilex_op_ptr(aTHXo))
 #undef  PL_lex_repl
-#define PL_lex_repl            pPerl->PL_lex_repl
+#define PL_lex_repl            (*Perl_Ilex_repl_ptr(aTHXo))
 #undef  PL_lex_starts
-#define PL_lex_starts          pPerl->PL_lex_starts
+#define PL_lex_starts          (*Perl_Ilex_starts_ptr(aTHXo))
 #undef  PL_lex_state
-#define PL_lex_state           pPerl->PL_lex_state
+#define PL_lex_state           (*Perl_Ilex_state_ptr(aTHXo))
 #undef  PL_lex_stuff
-#define PL_lex_stuff           pPerl->PL_lex_stuff
+#define PL_lex_stuff           (*Perl_Ilex_stuff_ptr(aTHXo))
 #undef  PL_lineary
-#define PL_lineary             pPerl->PL_lineary
+#define PL_lineary             (*Perl_Ilineary_ptr(aTHXo))
 #undef  PL_linestart
-#define PL_linestart           pPerl->PL_linestart
+#define PL_linestart           (*Perl_Ilinestart_ptr(aTHXo))
 #undef  PL_linestr
-#define PL_linestr             pPerl->PL_linestr
-#undef  PL_localizing
-#define PL_localizing          pPerl->PL_localizing
+#define PL_linestr             (*Perl_Ilinestr_ptr(aTHXo))
 #undef  PL_localpatches
-#define PL_localpatches                pPerl->PL_localpatches
+#define PL_localpatches                (*Perl_Ilocalpatches_ptr(aTHXo))
 #undef  PL_main_cv
-#define PL_main_cv             pPerl->PL_main_cv
+#define PL_main_cv             (*Perl_Imain_cv_ptr(aTHXo))
 #undef  PL_main_root
-#define PL_main_root           pPerl->PL_main_root
+#define PL_main_root           (*Perl_Imain_root_ptr(aTHXo))
 #undef  PL_main_start
-#define PL_main_start          pPerl->PL_main_start
-#undef  PL_mainstack
-#define PL_mainstack           pPerl->PL_mainstack
+#define PL_main_start          (*Perl_Imain_start_ptr(aTHXo))
 #undef  PL_malloc_mutex
-#define PL_malloc_mutex                pPerl->PL_malloc_mutex
-#undef  PL_markstack
-#define PL_markstack           pPerl->PL_markstack
-#undef  PL_markstack_max
-#define PL_markstack_max       pPerl->PL_markstack_max
-#undef  PL_markstack_ptr
-#define PL_markstack_ptr       pPerl->PL_markstack_ptr
+#define PL_malloc_mutex                (*Perl_Imalloc_mutex_ptr(aTHXo))
 #undef  PL_max_intro_pending
-#define PL_max_intro_pending   pPerl->PL_max_intro_pending
+#define PL_max_intro_pending   (*Perl_Imax_intro_pending_ptr(aTHXo))
 #undef  PL_maxo
-#define PL_maxo                        pPerl->PL_maxo
-#undef  PL_maxscream
-#define PL_maxscream           pPerl->PL_maxscream
+#define PL_maxo                        (*Perl_Imaxo_ptr(aTHXo))
 #undef  PL_maxsysfd
-#define PL_maxsysfd            pPerl->PL_maxsysfd
+#define PL_maxsysfd            (*Perl_Imaxsysfd_ptr(aTHXo))
 #undef  PL_mess_sv
-#define PL_mess_sv             pPerl->PL_mess_sv
+#define PL_mess_sv             (*Perl_Imess_sv_ptr(aTHXo))
 #undef  PL_min_intro_pending
-#define PL_min_intro_pending   pPerl->PL_min_intro_pending
+#define PL_min_intro_pending   (*Perl_Imin_intro_pending_ptr(aTHXo))
 #undef  PL_minus_F
-#define PL_minus_F             pPerl->PL_minus_F
+#define PL_minus_F             (*Perl_Iminus_F_ptr(aTHXo))
 #undef  PL_minus_a
-#define PL_minus_a             pPerl->PL_minus_a
+#define PL_minus_a             (*Perl_Iminus_a_ptr(aTHXo))
 #undef  PL_minus_c
-#define PL_minus_c             pPerl->PL_minus_c
+#define PL_minus_c             (*Perl_Iminus_c_ptr(aTHXo))
 #undef  PL_minus_l
-#define PL_minus_l             pPerl->PL_minus_l
+#define PL_minus_l             (*Perl_Iminus_l_ptr(aTHXo))
 #undef  PL_minus_n
-#define PL_minus_n             pPerl->PL_minus_n
+#define PL_minus_n             (*Perl_Iminus_n_ptr(aTHXo))
 #undef  PL_minus_p
-#define PL_minus_p             pPerl->PL_minus_p
-#undef  PL_modcount
-#define PL_modcount            pPerl->PL_modcount
+#define PL_minus_p             (*Perl_Iminus_p_ptr(aTHXo))
 #undef  PL_modglobal
-#define PL_modglobal           pPerl->PL_modglobal
+#define PL_modglobal           (*Perl_Imodglobal_ptr(aTHXo))
 #undef  PL_multi_close
-#define PL_multi_close         pPerl->PL_multi_close
+#define PL_multi_close         (*Perl_Imulti_close_ptr(aTHXo))
 #undef  PL_multi_end
-#define PL_multi_end           pPerl->PL_multi_end
+#define PL_multi_end           (*Perl_Imulti_end_ptr(aTHXo))
 #undef  PL_multi_open
-#define PL_multi_open          pPerl->PL_multi_open
+#define PL_multi_open          (*Perl_Imulti_open_ptr(aTHXo))
 #undef  PL_multi_start
-#define PL_multi_start         pPerl->PL_multi_start
+#define PL_multi_start         (*Perl_Imulti_start_ptr(aTHXo))
 #undef  PL_multiline
-#define PL_multiline           pPerl->PL_multiline
+#define PL_multiline           (*Perl_Imultiline_ptr(aTHXo))
 #undef  PL_mystrk
-#define PL_mystrk              pPerl->PL_mystrk
-#undef  PL_na
-#define PL_na                  pPerl->PL_na
+#define PL_mystrk              (*Perl_Imystrk_ptr(aTHXo))
 #undef  PL_nexttoke
-#define PL_nexttoke            pPerl->PL_nexttoke
+#define PL_nexttoke            (*Perl_Inexttoke_ptr(aTHXo))
 #undef  PL_nexttype
-#define PL_nexttype            pPerl->PL_nexttype
+#define PL_nexttype            (*Perl_Inexttype_ptr(aTHXo))
 #undef  PL_nextval
-#define PL_nextval             pPerl->PL_nextval
+#define PL_nextval             (*Perl_Inextval_ptr(aTHXo))
 #undef  PL_nice_chunk
-#define PL_nice_chunk          pPerl->PL_nice_chunk
+#define PL_nice_chunk          (*Perl_Inice_chunk_ptr(aTHXo))
 #undef  PL_nice_chunk_size
-#define PL_nice_chunk_size     pPerl->PL_nice_chunk_size
+#define PL_nice_chunk_size     (*Perl_Inice_chunk_size_ptr(aTHXo))
 #undef  PL_nomemok
-#define PL_nomemok             pPerl->PL_nomemok
-#undef  PL_nrs
-#define PL_nrs                 pPerl->PL_nrs
+#define PL_nomemok             (*Perl_Inomemok_ptr(aTHXo))
 #undef  PL_nthreads
-#define PL_nthreads            pPerl->PL_nthreads
+#define PL_nthreads            (*Perl_Inthreads_ptr(aTHXo))
 #undef  PL_nthreads_cond
-#define PL_nthreads_cond       pPerl->PL_nthreads_cond
+#define PL_nthreads_cond       (*Perl_Inthreads_cond_ptr(aTHXo))
 #undef  PL_numeric_local
-#define PL_numeric_local       pPerl->PL_numeric_local
+#define PL_numeric_local       (*Perl_Inumeric_local_ptr(aTHXo))
 #undef  PL_numeric_name
-#define PL_numeric_name                pPerl->PL_numeric_name
+#define PL_numeric_name                (*Perl_Inumeric_name_ptr(aTHXo))
 #undef  PL_numeric_radix
-#define PL_numeric_radix       pPerl->PL_numeric_radix
+#define PL_numeric_radix       (*Perl_Inumeric_radix_ptr(aTHXo))
 #undef  PL_numeric_standard
-#define PL_numeric_standard    pPerl->PL_numeric_standard
+#define PL_numeric_standard    (*Perl_Inumeric_standard_ptr(aTHXo))
 #undef  PL_ofmt
-#define PL_ofmt                        pPerl->PL_ofmt
-#undef  PL_ofs
-#define PL_ofs                 pPerl->PL_ofs
-#undef  PL_ofslen
-#define PL_ofslen              pPerl->PL_ofslen
+#define PL_ofmt                        (*Perl_Iofmt_ptr(aTHXo))
 #undef  PL_oldbufptr
-#define PL_oldbufptr           pPerl->PL_oldbufptr
+#define PL_oldbufptr           (*Perl_Ioldbufptr_ptr(aTHXo))
 #undef  PL_oldlastpm
-#define PL_oldlastpm           pPerl->PL_oldlastpm
+#define PL_oldlastpm           (*Perl_Ioldlastpm_ptr(aTHXo))
 #undef  PL_oldname
-#define PL_oldname             pPerl->PL_oldname
+#define PL_oldname             (*Perl_Ioldname_ptr(aTHXo))
 #undef  PL_oldoldbufptr
-#define PL_oldoldbufptr                pPerl->PL_oldoldbufptr
-#undef  PL_op
-#define PL_op                  pPerl->PL_op
+#define PL_oldoldbufptr                (*Perl_Ioldoldbufptr_ptr(aTHXo))
 #undef  PL_op_mask
-#define PL_op_mask             pPerl->PL_op_mask
+#define PL_op_mask             (*Perl_Iop_mask_ptr(aTHXo))
 #undef  PL_op_seqmax
-#define PL_op_seqmax           pPerl->PL_op_seqmax
-#undef  PL_opsave
-#define PL_opsave              pPerl->PL_opsave
+#define PL_op_seqmax           (*Perl_Iop_seqmax_ptr(aTHXo))
 #undef  PL_origalen
-#define PL_origalen            pPerl->PL_origalen
+#define PL_origalen            (*Perl_Iorigalen_ptr(aTHXo))
 #undef  PL_origargc
-#define PL_origargc            pPerl->PL_origargc
+#define PL_origargc            (*Perl_Iorigargc_ptr(aTHXo))
 #undef  PL_origargv
-#define PL_origargv            pPerl->PL_origargv
+#define PL_origargv            (*Perl_Iorigargv_ptr(aTHXo))
 #undef  PL_origenviron
-#define PL_origenviron         pPerl->PL_origenviron
+#define PL_origenviron         (*Perl_Iorigenviron_ptr(aTHXo))
 #undef  PL_origfilename
-#define PL_origfilename                pPerl->PL_origfilename
+#define PL_origfilename                (*Perl_Iorigfilename_ptr(aTHXo))
 #undef  PL_ors
-#define PL_ors                 pPerl->PL_ors
+#define PL_ors                 (*Perl_Iors_ptr(aTHXo))
 #undef  PL_orslen
-#define PL_orslen              pPerl->PL_orslen
+#define PL_orslen              (*Perl_Iorslen_ptr(aTHXo))
 #undef  PL_osname
-#define PL_osname              pPerl->PL_osname
+#define PL_osname              (*Perl_Iosname_ptr(aTHXo))
 #undef  PL_pad_reset_pending
-#define PL_pad_reset_pending   pPerl->PL_pad_reset_pending
+#define PL_pad_reset_pending   (*Perl_Ipad_reset_pending_ptr(aTHXo))
 #undef  PL_padix
-#define PL_padix               pPerl->PL_padix
+#define PL_padix               (*Perl_Ipadix_ptr(aTHXo))
 #undef  PL_padix_floor
-#define PL_padix_floor         pPerl->PL_padix_floor
+#define PL_padix_floor         (*Perl_Ipadix_floor_ptr(aTHXo))
 #undef  PL_parsehook
-#define PL_parsehook           pPerl->PL_parsehook
+#define PL_parsehook           (*Perl_Iparsehook_ptr(aTHXo))
 #undef  PL_patchlevel
-#define PL_patchlevel          pPerl->PL_patchlevel
-#undef  PL_patleave
-#define PL_patleave            pPerl->PL_patleave
+#define PL_patchlevel          (*Perl_Ipatchlevel_ptr(aTHXo))
 #undef  PL_pending_ident
-#define PL_pending_ident       pPerl->PL_pending_ident
+#define PL_pending_ident       (*Perl_Ipending_ident_ptr(aTHXo))
 #undef  PL_perl_destruct_level
-#define PL_perl_destruct_level pPerl->PL_perl_destruct_level
+#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHXo))
 #undef  PL_perldb
-#define PL_perldb              pPerl->PL_perldb
-#undef  PL_piDir
-#define PL_piDir               pPerl->PL_piDir
-#undef  PL_piENV
-#define PL_piENV               pPerl->PL_piENV
-#undef  PL_piLIO
-#define PL_piLIO               pPerl->PL_piLIO
-#undef  PL_piMem
-#define PL_piMem               pPerl->PL_piMem
-#undef  PL_piProc
-#define PL_piProc              pPerl->PL_piProc
-#undef  PL_piSock
-#define PL_piSock              pPerl->PL_piSock
-#undef  PL_piStdIO
-#define PL_piStdIO             pPerl->PL_piStdIO
+#define PL_perldb              (*Perl_Iperldb_ptr(aTHXo))
 #undef  PL_pidstatus
-#define PL_pidstatus           pPerl->PL_pidstatus
+#define PL_pidstatus           (*Perl_Ipidstatus_ptr(aTHXo))
 #undef  PL_preambleav
-#define PL_preambleav          pPerl->PL_preambleav
+#define PL_preambleav          (*Perl_Ipreambleav_ptr(aTHXo))
 #undef  PL_preambled
-#define PL_preambled           pPerl->PL_preambled
+#define PL_preambled           (*Perl_Ipreambled_ptr(aTHXo))
 #undef  PL_preprocess
-#define PL_preprocess          pPerl->PL_preprocess
+#define PL_preprocess          (*Perl_Ipreprocess_ptr(aTHXo))
 #undef  PL_profiledata
-#define PL_profiledata         pPerl->PL_profiledata
+#define PL_profiledata         (*Perl_Iprofiledata_ptr(aTHXo))
+#undef  PL_replgv
+#define PL_replgv              (*Perl_Ireplgv_ptr(aTHXo))
+#undef  PL_rightgv
+#define PL_rightgv             (*Perl_Irightgv_ptr(aTHXo))
+#undef  PL_rsfp
+#define PL_rsfp                        (*Perl_Irsfp_ptr(aTHXo))
+#undef  PL_rsfp_filters
+#define PL_rsfp_filters                (*Perl_Irsfp_filters_ptr(aTHXo))
+#undef  PL_runops
+#define PL_runops              (*Perl_Irunops_ptr(aTHXo))
+#undef  PL_sawampersand
+#define PL_sawampersand                (*Perl_Isawampersand_ptr(aTHXo))
+#undef  PL_sawstudy
+#define PL_sawstudy            (*Perl_Isawstudy_ptr(aTHXo))
+#undef  PL_sawvec
+#define PL_sawvec              (*Perl_Isawvec_ptr(aTHXo))
+#undef  PL_sh_path
+#define PL_sh_path             (*Perl_Ish_path_ptr(aTHXo))
+#undef  PL_siggv
+#define PL_siggv               (*Perl_Isiggv_ptr(aTHXo))
+#undef  PL_sighandlerp
+#define PL_sighandlerp         (*Perl_Isighandlerp_ptr(aTHXo))
+#undef  PL_splitstr
+#define PL_splitstr            (*Perl_Isplitstr_ptr(aTHXo))
+#undef  PL_srand_called
+#define PL_srand_called                (*Perl_Isrand_called_ptr(aTHXo))
+#undef  PL_statusvalue
+#define PL_statusvalue         (*Perl_Istatusvalue_ptr(aTHXo))
+#undef  PL_statusvalue_vms
+#define PL_statusvalue_vms     (*Perl_Istatusvalue_vms_ptr(aTHXo))
+#undef  PL_stdingv
+#define PL_stdingv             (*Perl_Istdingv_ptr(aTHXo))
+#undef  PL_strchop
+#define PL_strchop             (*Perl_Istrchop_ptr(aTHXo))
+#undef  PL_strtab
+#define PL_strtab              (*Perl_Istrtab_ptr(aTHXo))
+#undef  PL_strtab_mutex
+#define PL_strtab_mutex                (*Perl_Istrtab_mutex_ptr(aTHXo))
+#undef  PL_sub_generation
+#define PL_sub_generation      (*Perl_Isub_generation_ptr(aTHXo))
+#undef  PL_sublex_info
+#define PL_sublex_info         (*Perl_Isublex_info_ptr(aTHXo))
+#undef  PL_subline
+#define PL_subline             (*Perl_Isubline_ptr(aTHXo))
+#undef  PL_subname
+#define PL_subname             (*Perl_Isubname_ptr(aTHXo))
+#undef  PL_sv_arenaroot
+#define PL_sv_arenaroot                (*Perl_Isv_arenaroot_ptr(aTHXo))
+#undef  PL_sv_count
+#define PL_sv_count            (*Perl_Isv_count_ptr(aTHXo))
+#undef  PL_sv_mutex
+#define PL_sv_mutex            (*Perl_Isv_mutex_ptr(aTHXo))
+#undef  PL_sv_no
+#define PL_sv_no               (*Perl_Isv_no_ptr(aTHXo))
+#undef  PL_sv_objcount
+#define PL_sv_objcount         (*Perl_Isv_objcount_ptr(aTHXo))
+#undef  PL_sv_root
+#define PL_sv_root             (*Perl_Isv_root_ptr(aTHXo))
+#undef  PL_sv_undef
+#define PL_sv_undef            (*Perl_Isv_undef_ptr(aTHXo))
+#undef  PL_sv_yes
+#define PL_sv_yes              (*Perl_Isv_yes_ptr(aTHXo))
+#undef  PL_svref_mutex
+#define PL_svref_mutex         (*Perl_Isvref_mutex_ptr(aTHXo))
+#undef  PL_sys_intern
+#define PL_sys_intern          (*Perl_Isys_intern_ptr(aTHXo))
+#undef  PL_tainting
+#define PL_tainting            (*Perl_Itainting_ptr(aTHXo))
+#undef  PL_thisexpr
+#define PL_thisexpr            (*Perl_Ithisexpr_ptr(aTHXo))
+#undef  PL_thr_key
+#define PL_thr_key             (*Perl_Ithr_key_ptr(aTHXo))
+#undef  PL_threadnum
+#define PL_threadnum           (*Perl_Ithreadnum_ptr(aTHXo))
+#undef  PL_threads_mutex
+#define PL_threads_mutex       (*Perl_Ithreads_mutex_ptr(aTHXo))
+#undef  PL_threadsv_names
+#define PL_threadsv_names      (*Perl_Ithreadsv_names_ptr(aTHXo))
+#undef  PL_thrsv
+#define PL_thrsv               (*Perl_Ithrsv_ptr(aTHXo))
+#undef  PL_tokenbuf
+#define PL_tokenbuf            (*Perl_Itokenbuf_ptr(aTHXo))
+#undef  PL_uid
+#define PL_uid                 (*Perl_Iuid_ptr(aTHXo))
+#undef  PL_unsafe
+#define PL_unsafe              (*Perl_Iunsafe_ptr(aTHXo))
+#undef  PL_utf8_alnum
+#define PL_utf8_alnum          (*Perl_Iutf8_alnum_ptr(aTHXo))
+#undef  PL_utf8_alnumc
+#define PL_utf8_alnumc         (*Perl_Iutf8_alnumc_ptr(aTHXo))
+#undef  PL_utf8_alpha
+#define PL_utf8_alpha          (*Perl_Iutf8_alpha_ptr(aTHXo))
+#undef  PL_utf8_ascii
+#define PL_utf8_ascii          (*Perl_Iutf8_ascii_ptr(aTHXo))
+#undef  PL_utf8_cntrl
+#define PL_utf8_cntrl          (*Perl_Iutf8_cntrl_ptr(aTHXo))
+#undef  PL_utf8_digit
+#define PL_utf8_digit          (*Perl_Iutf8_digit_ptr(aTHXo))
+#undef  PL_utf8_graph
+#define PL_utf8_graph          (*Perl_Iutf8_graph_ptr(aTHXo))
+#undef  PL_utf8_lower
+#define PL_utf8_lower          (*Perl_Iutf8_lower_ptr(aTHXo))
+#undef  PL_utf8_mark
+#define PL_utf8_mark           (*Perl_Iutf8_mark_ptr(aTHXo))
+#undef  PL_utf8_print
+#define PL_utf8_print          (*Perl_Iutf8_print_ptr(aTHXo))
+#undef  PL_utf8_punct
+#define PL_utf8_punct          (*Perl_Iutf8_punct_ptr(aTHXo))
+#undef  PL_utf8_space
+#define PL_utf8_space          (*Perl_Iutf8_space_ptr(aTHXo))
+#undef  PL_utf8_tolower
+#define PL_utf8_tolower                (*Perl_Iutf8_tolower_ptr(aTHXo))
+#undef  PL_utf8_totitle
+#define PL_utf8_totitle                (*Perl_Iutf8_totitle_ptr(aTHXo))
+#undef  PL_utf8_toupper
+#define PL_utf8_toupper                (*Perl_Iutf8_toupper_ptr(aTHXo))
+#undef  PL_utf8_upper
+#define PL_utf8_upper          (*Perl_Iutf8_upper_ptr(aTHXo))
+#undef  PL_utf8_xdigit
+#define PL_utf8_xdigit         (*Perl_Iutf8_xdigit_ptr(aTHXo))
+#undef  PL_uudmap
+#define PL_uudmap              (*Perl_Iuudmap_ptr(aTHXo))
+#undef  PL_warnhook
+#define PL_warnhook            (*Perl_Iwarnhook_ptr(aTHXo))
+#undef  PL_xiv_arenaroot
+#define PL_xiv_arenaroot       (*Perl_Ixiv_arenaroot_ptr(aTHXo))
+#undef  PL_xiv_root
+#define PL_xiv_root            (*Perl_Ixiv_root_ptr(aTHXo))
+#undef  PL_xnv_root
+#define PL_xnv_root            (*Perl_Ixnv_root_ptr(aTHXo))
+#undef  PL_xpv_root
+#define PL_xpv_root            (*Perl_Ixpv_root_ptr(aTHXo))
+#undef  PL_xrv_root
+#define PL_xrv_root            (*Perl_Ixrv_root_ptr(aTHXo))
+#undef  PL_yychar
+#define PL_yychar              (*Perl_Iyychar_ptr(aTHXo))
+#undef  PL_yydebug
+#define PL_yydebug             (*Perl_Iyydebug_ptr(aTHXo))
+#undef  PL_yyerrflag
+#define PL_yyerrflag           (*Perl_Iyyerrflag_ptr(aTHXo))
+#undef  PL_yylval
+#define PL_yylval              (*Perl_Iyylval_ptr(aTHXo))
+#undef  PL_yynerrs
+#define PL_yynerrs             (*Perl_Iyynerrs_ptr(aTHXo))
+#undef  PL_yyval
+#define PL_yyval               (*Perl_Iyyval_ptr(aTHXo))
+#undef  PL_Sv
+#define PL_Sv                  (*Perl_TSv_ptr(aTHXo))
+#undef  PL_Xpv
+#define PL_Xpv                 (*Perl_TXpv_ptr(aTHXo))
+#undef  PL_av_fetch_sv
+#define PL_av_fetch_sv         (*Perl_Tav_fetch_sv_ptr(aTHXo))
+#undef  PL_bodytarget
+#define PL_bodytarget          (*Perl_Tbodytarget_ptr(aTHXo))
+#undef  PL_bostr
+#define PL_bostr               (*Perl_Tbostr_ptr(aTHXo))
+#undef  PL_chopset
+#define PL_chopset             (*Perl_Tchopset_ptr(aTHXo))
+#undef  PL_colors
+#define PL_colors              (*Perl_Tcolors_ptr(aTHXo))
+#undef  PL_colorset
+#define PL_colorset            (*Perl_Tcolorset_ptr(aTHXo))
+#undef  PL_curcop
+#define PL_curcop              (*Perl_Tcurcop_ptr(aTHXo))
+#undef  PL_curpad
+#define PL_curpad              (*Perl_Tcurpad_ptr(aTHXo))
+#undef  PL_curpm
+#define PL_curpm               (*Perl_Tcurpm_ptr(aTHXo))
+#undef  PL_curstack
+#define PL_curstack            (*Perl_Tcurstack_ptr(aTHXo))
+#undef  PL_curstackinfo
+#define PL_curstackinfo                (*Perl_Tcurstackinfo_ptr(aTHXo))
+#undef  PL_curstash
+#define PL_curstash            (*Perl_Tcurstash_ptr(aTHXo))
+#undef  PL_defoutgv
+#define PL_defoutgv            (*Perl_Tdefoutgv_ptr(aTHXo))
+#undef  PL_defstash
+#define PL_defstash            (*Perl_Tdefstash_ptr(aTHXo))
+#undef  PL_delaymagic
+#define PL_delaymagic          (*Perl_Tdelaymagic_ptr(aTHXo))
+#undef  PL_dirty
+#define PL_dirty               (*Perl_Tdirty_ptr(aTHXo))
+#undef  PL_dumpindent
+#define PL_dumpindent          (*Perl_Tdumpindent_ptr(aTHXo))
+#undef  PL_extralen
+#define PL_extralen            (*Perl_Textralen_ptr(aTHXo))
+#undef  PL_firstgv
+#define PL_firstgv             (*Perl_Tfirstgv_ptr(aTHXo))
+#undef  PL_formtarget
+#define PL_formtarget          (*Perl_Tformtarget_ptr(aTHXo))
+#undef  PL_hv_fetch_ent_mh
+#define PL_hv_fetch_ent_mh     (*Perl_Thv_fetch_ent_mh_ptr(aTHXo))
+#undef  PL_hv_fetch_sv
+#define PL_hv_fetch_sv         (*Perl_Thv_fetch_sv_ptr(aTHXo))
+#undef  PL_in_eval
+#define PL_in_eval             (*Perl_Tin_eval_ptr(aTHXo))
+#undef  PL_last_in_gv
+#define PL_last_in_gv          (*Perl_Tlast_in_gv_ptr(aTHXo))
+#undef  PL_lastgotoprobe
+#define PL_lastgotoprobe       (*Perl_Tlastgotoprobe_ptr(aTHXo))
+#undef  PL_lastscream
+#define PL_lastscream          (*Perl_Tlastscream_ptr(aTHXo))
+#undef  PL_localizing
+#define PL_localizing          (*Perl_Tlocalizing_ptr(aTHXo))
+#undef  PL_mainstack
+#define PL_mainstack           (*Perl_Tmainstack_ptr(aTHXo))
+#undef  PL_markstack
+#define PL_markstack           (*Perl_Tmarkstack_ptr(aTHXo))
+#undef  PL_markstack_max
+#define PL_markstack_max       (*Perl_Tmarkstack_max_ptr(aTHXo))
+#undef  PL_markstack_ptr
+#define PL_markstack_ptr       (*Perl_Tmarkstack_ptr_ptr(aTHXo))
+#undef  PL_maxscream
+#define PL_maxscream           (*Perl_Tmaxscream_ptr(aTHXo))
+#undef  PL_modcount
+#define PL_modcount            (*Perl_Tmodcount_ptr(aTHXo))
+#undef  PL_na
+#define PL_na                  (*Perl_Tna_ptr(aTHXo))
+#undef  PL_nrs
+#define PL_nrs                 (*Perl_Tnrs_ptr(aTHXo))
+#undef  PL_ofs
+#define PL_ofs                 (*Perl_Tofs_ptr(aTHXo))
+#undef  PL_ofslen
+#define PL_ofslen              (*Perl_Tofslen_ptr(aTHXo))
+#undef  PL_op
+#define PL_op                  (*Perl_Top_ptr(aTHXo))
+#undef  PL_opsave
+#define PL_opsave              (*Perl_Topsave_ptr(aTHXo))
 #undef  PL_protect
-#define PL_protect             pPerl->PL_protect
+#define PL_protect             (*Perl_Tprotect_ptr(aTHXo))
 #undef  PL_reg_call_cc
-#define PL_reg_call_cc         pPerl->PL_reg_call_cc
+#define PL_reg_call_cc         (*Perl_Treg_call_cc_ptr(aTHXo))
 #undef  PL_reg_curpm
-#define PL_reg_curpm           pPerl->PL_reg_curpm
+#define PL_reg_curpm           (*Perl_Treg_curpm_ptr(aTHXo))
 #undef  PL_reg_eval_set
-#define PL_reg_eval_set                pPerl->PL_reg_eval_set
+#define PL_reg_eval_set                (*Perl_Treg_eval_set_ptr(aTHXo))
 #undef  PL_reg_flags
-#define PL_reg_flags           pPerl->PL_reg_flags
+#define PL_reg_flags           (*Perl_Treg_flags_ptr(aTHXo))
 #undef  PL_reg_ganch
-#define PL_reg_ganch           pPerl->PL_reg_ganch
+#define PL_reg_ganch           (*Perl_Treg_ganch_ptr(aTHXo))
+#undef  PL_reg_leftiter
+#define PL_reg_leftiter                (*Perl_Treg_leftiter_ptr(aTHXo))
 #undef  PL_reg_magic
-#define PL_reg_magic           pPerl->PL_reg_magic
+#define PL_reg_magic           (*Perl_Treg_magic_ptr(aTHXo))
+#undef  PL_reg_maxiter
+#define PL_reg_maxiter         (*Perl_Treg_maxiter_ptr(aTHXo))
 #undef  PL_reg_oldcurpm
-#define PL_reg_oldcurpm                pPerl->PL_reg_oldcurpm
+#define PL_reg_oldcurpm                (*Perl_Treg_oldcurpm_ptr(aTHXo))
 #undef  PL_reg_oldpos
-#define PL_reg_oldpos          pPerl->PL_reg_oldpos
+#define PL_reg_oldpos          (*Perl_Treg_oldpos_ptr(aTHXo))
 #undef  PL_reg_oldsaved
-#define PL_reg_oldsaved                pPerl->PL_reg_oldsaved
+#define PL_reg_oldsaved                (*Perl_Treg_oldsaved_ptr(aTHXo))
 #undef  PL_reg_oldsavedlen
-#define PL_reg_oldsavedlen     pPerl->PL_reg_oldsavedlen
+#define PL_reg_oldsavedlen     (*Perl_Treg_oldsavedlen_ptr(aTHXo))
+#undef  PL_reg_poscache
+#define PL_reg_poscache                (*Perl_Treg_poscache_ptr(aTHXo))
+#undef  PL_reg_poscache_size
+#define PL_reg_poscache_size   (*Perl_Treg_poscache_size_ptr(aTHXo))
 #undef  PL_reg_re
-#define PL_reg_re              pPerl->PL_reg_re
+#define PL_reg_re              (*Perl_Treg_re_ptr(aTHXo))
 #undef  PL_reg_start_tmp
-#define PL_reg_start_tmp       pPerl->PL_reg_start_tmp
+#define PL_reg_start_tmp       (*Perl_Treg_start_tmp_ptr(aTHXo))
 #undef  PL_reg_start_tmpl
-#define PL_reg_start_tmpl      pPerl->PL_reg_start_tmpl
+#define PL_reg_start_tmpl      (*Perl_Treg_start_tmpl_ptr(aTHXo))
 #undef  PL_reg_starttry
-#define PL_reg_starttry                pPerl->PL_reg_starttry
+#define PL_reg_starttry                (*Perl_Treg_starttry_ptr(aTHXo))
 #undef  PL_reg_sv
-#define PL_reg_sv              pPerl->PL_reg_sv
+#define PL_reg_sv              (*Perl_Treg_sv_ptr(aTHXo))
+#undef  PL_reg_whilem_seen
+#define PL_reg_whilem_seen     (*Perl_Treg_whilem_seen_ptr(aTHXo))
 #undef  PL_regbol
-#define PL_regbol              pPerl->PL_regbol
+#define PL_regbol              (*Perl_Tregbol_ptr(aTHXo))
 #undef  PL_regcc
-#define PL_regcc               pPerl->PL_regcc
+#define PL_regcc               (*Perl_Tregcc_ptr(aTHXo))
 #undef  PL_regcode
-#define PL_regcode             pPerl->PL_regcode
+#define PL_regcode             (*Perl_Tregcode_ptr(aTHXo))
 #undef  PL_regcomp_parse
-#define PL_regcomp_parse       pPerl->PL_regcomp_parse
+#define PL_regcomp_parse       (*Perl_Tregcomp_parse_ptr(aTHXo))
 #undef  PL_regcomp_rx
-#define PL_regcomp_rx          pPerl->PL_regcomp_rx
+#define PL_regcomp_rx          (*Perl_Tregcomp_rx_ptr(aTHXo))
 #undef  PL_regcompp
-#define PL_regcompp            pPerl->PL_regcompp
+#define PL_regcompp            (*Perl_Tregcompp_ptr(aTHXo))
 #undef  PL_regdata
-#define PL_regdata             pPerl->PL_regdata
+#define PL_regdata             (*Perl_Tregdata_ptr(aTHXo))
 #undef  PL_regdummy
-#define PL_regdummy            pPerl->PL_regdummy
+#define PL_regdummy            (*Perl_Tregdummy_ptr(aTHXo))
 #undef  PL_regendp
-#define PL_regendp             pPerl->PL_regendp
+#define PL_regendp             (*Perl_Tregendp_ptr(aTHXo))
 #undef  PL_regeol
-#define PL_regeol              pPerl->PL_regeol
+#define PL_regeol              (*Perl_Tregeol_ptr(aTHXo))
 #undef  PL_regexecp
-#define PL_regexecp            pPerl->PL_regexecp
+#define PL_regexecp            (*Perl_Tregexecp_ptr(aTHXo))
 #undef  PL_regflags
-#define PL_regflags            pPerl->PL_regflags
+#define PL_regflags            (*Perl_Tregflags_ptr(aTHXo))
 #undef  PL_regfree
-#define PL_regfree             pPerl->PL_regfree
+#define PL_regfree             (*Perl_Tregfree_ptr(aTHXo))
 #undef  PL_regindent
-#define PL_regindent           pPerl->PL_regindent
+#define PL_regindent           (*Perl_Tregindent_ptr(aTHXo))
 #undef  PL_reginput
-#define PL_reginput            pPerl->PL_reginput
+#define PL_reginput            (*Perl_Treginput_ptr(aTHXo))
 #undef  PL_regint_start
-#define PL_regint_start                pPerl->PL_regint_start
+#define PL_regint_start                (*Perl_Tregint_start_ptr(aTHXo))
 #undef  PL_regint_string
-#define PL_regint_string       pPerl->PL_regint_string
+#define PL_regint_string       (*Perl_Tregint_string_ptr(aTHXo))
 #undef  PL_reginterp_cnt
-#define PL_reginterp_cnt       pPerl->PL_reginterp_cnt
+#define PL_reginterp_cnt       (*Perl_Treginterp_cnt_ptr(aTHXo))
 #undef  PL_reglastparen
-#define PL_reglastparen                pPerl->PL_reglastparen
+#define PL_reglastparen                (*Perl_Treglastparen_ptr(aTHXo))
 #undef  PL_regnarrate
-#define PL_regnarrate          pPerl->PL_regnarrate
+#define PL_regnarrate          (*Perl_Tregnarrate_ptr(aTHXo))
 #undef  PL_regnaughty
-#define PL_regnaughty          pPerl->PL_regnaughty
+#define PL_regnaughty          (*Perl_Tregnaughty_ptr(aTHXo))
 #undef  PL_regnpar
-#define PL_regnpar             pPerl->PL_regnpar
+#define PL_regnpar             (*Perl_Tregnpar_ptr(aTHXo))
 #undef  PL_regprecomp
-#define PL_regprecomp          pPerl->PL_regprecomp
+#define PL_regprecomp          (*Perl_Tregprecomp_ptr(aTHXo))
 #undef  PL_regprev
-#define PL_regprev             pPerl->PL_regprev
+#define PL_regprev             (*Perl_Tregprev_ptr(aTHXo))
 #undef  PL_regprogram
-#define PL_regprogram          pPerl->PL_regprogram
+#define PL_regprogram          (*Perl_Tregprogram_ptr(aTHXo))
 #undef  PL_regsawback
-#define PL_regsawback          pPerl->PL_regsawback
+#define PL_regsawback          (*Perl_Tregsawback_ptr(aTHXo))
 #undef  PL_regseen
-#define PL_regseen             pPerl->PL_regseen
+#define PL_regseen             (*Perl_Tregseen_ptr(aTHXo))
 #undef  PL_regsize
-#define PL_regsize             pPerl->PL_regsize
+#define PL_regsize             (*Perl_Tregsize_ptr(aTHXo))
 #undef  PL_regstartp
-#define PL_regstartp           pPerl->PL_regstartp
+#define PL_regstartp           (*Perl_Tregstartp_ptr(aTHXo))
 #undef  PL_regtill
-#define PL_regtill             pPerl->PL_regtill
+#define PL_regtill             (*Perl_Tregtill_ptr(aTHXo))
 #undef  PL_regxend
-#define PL_regxend             pPerl->PL_regxend
-#undef  PL_replgv
-#define PL_replgv              pPerl->PL_replgv
+#define PL_regxend             (*Perl_Tregxend_ptr(aTHXo))
 #undef  PL_restartop
-#define PL_restartop           pPerl->PL_restartop
+#define PL_restartop           (*Perl_Trestartop_ptr(aTHXo))
 #undef  PL_retstack
-#define PL_retstack            pPerl->PL_retstack
+#define PL_retstack            (*Perl_Tretstack_ptr(aTHXo))
 #undef  PL_retstack_ix
-#define PL_retstack_ix         pPerl->PL_retstack_ix
+#define PL_retstack_ix         (*Perl_Tretstack_ix_ptr(aTHXo))
 #undef  PL_retstack_max
-#define PL_retstack_max                pPerl->PL_retstack_max
-#undef  PL_rightgv
-#define PL_rightgv             pPerl->PL_rightgv
+#define PL_retstack_max                (*Perl_Tretstack_max_ptr(aTHXo))
 #undef  PL_rs
-#define PL_rs                  pPerl->PL_rs
-#undef  PL_rsfp
-#define PL_rsfp                        pPerl->PL_rsfp
-#undef  PL_rsfp_filters
-#define PL_rsfp_filters                pPerl->PL_rsfp_filters
-#undef  PL_runops
-#define PL_runops              pPerl->PL_runops
+#define PL_rs                  (*Perl_Trs_ptr(aTHXo))
 #undef  PL_savestack
-#define PL_savestack           pPerl->PL_savestack
+#define PL_savestack           (*Perl_Tsavestack_ptr(aTHXo))
 #undef  PL_savestack_ix
-#define PL_savestack_ix                pPerl->PL_savestack_ix
+#define PL_savestack_ix                (*Perl_Tsavestack_ix_ptr(aTHXo))
 #undef  PL_savestack_max
-#define PL_savestack_max       pPerl->PL_savestack_max
-#undef  PL_sawampersand
-#define PL_sawampersand                pPerl->PL_sawampersand
-#undef  PL_sawstudy
-#define PL_sawstudy            pPerl->PL_sawstudy
-#undef  PL_sawvec
-#define PL_sawvec              pPerl->PL_sawvec
+#define PL_savestack_max       (*Perl_Tsavestack_max_ptr(aTHXo))
 #undef  PL_scopestack
-#define PL_scopestack          pPerl->PL_scopestack
+#define PL_scopestack          (*Perl_Tscopestack_ptr(aTHXo))
 #undef  PL_scopestack_ix
-#define PL_scopestack_ix       pPerl->PL_scopestack_ix
+#define PL_scopestack_ix       (*Perl_Tscopestack_ix_ptr(aTHXo))
 #undef  PL_scopestack_max
-#define PL_scopestack_max      pPerl->PL_scopestack_max
+#define PL_scopestack_max      (*Perl_Tscopestack_max_ptr(aTHXo))
 #undef  PL_screamfirst
-#define PL_screamfirst         pPerl->PL_screamfirst
+#define PL_screamfirst         (*Perl_Tscreamfirst_ptr(aTHXo))
 #undef  PL_screamnext
-#define PL_screamnext          pPerl->PL_screamnext
+#define PL_screamnext          (*Perl_Tscreamnext_ptr(aTHXo))
 #undef  PL_secondgv
-#define PL_secondgv            pPerl->PL_secondgv
+#define PL_secondgv            (*Perl_Tsecondgv_ptr(aTHXo))
 #undef  PL_seen_evals
-#define PL_seen_evals          pPerl->PL_seen_evals
+#define PL_seen_evals          (*Perl_Tseen_evals_ptr(aTHXo))
 #undef  PL_seen_zerolen
-#define PL_seen_zerolen                pPerl->PL_seen_zerolen
-#undef  PL_sh_path
-#define PL_sh_path             pPerl->PL_sh_path
-#undef  PL_siggv
-#define PL_siggv               pPerl->PL_siggv
-#undef  PL_sighandlerp
-#define PL_sighandlerp         pPerl->PL_sighandlerp
+#define PL_seen_zerolen                (*Perl_Tseen_zerolen_ptr(aTHXo))
 #undef  PL_sortcop
-#define PL_sortcop             pPerl->PL_sortcop
+#define PL_sortcop             (*Perl_Tsortcop_ptr(aTHXo))
 #undef  PL_sortcxix
-#define PL_sortcxix            pPerl->PL_sortcxix
+#define PL_sortcxix            (*Perl_Tsortcxix_ptr(aTHXo))
 #undef  PL_sortstash
-#define PL_sortstash           pPerl->PL_sortstash
-#undef  PL_splitstr
-#define PL_splitstr            pPerl->PL_splitstr
-#undef  PL_srand_called
-#define PL_srand_called                pPerl->PL_srand_called
+#define PL_sortstash           (*Perl_Tsortstash_ptr(aTHXo))
 #undef  PL_stack_base
-#define PL_stack_base          pPerl->PL_stack_base
+#define PL_stack_base          (*Perl_Tstack_base_ptr(aTHXo))
 #undef  PL_stack_max
-#define PL_stack_max           pPerl->PL_stack_max
+#define PL_stack_max           (*Perl_Tstack_max_ptr(aTHXo))
 #undef  PL_stack_sp
-#define PL_stack_sp            pPerl->PL_stack_sp
+#define PL_stack_sp            (*Perl_Tstack_sp_ptr(aTHXo))
 #undef  PL_start_env
-#define PL_start_env           pPerl->PL_start_env
+#define PL_start_env           (*Perl_Tstart_env_ptr(aTHXo))
 #undef  PL_statbuf
-#define PL_statbuf             pPerl->PL_statbuf
+#define PL_statbuf             (*Perl_Tstatbuf_ptr(aTHXo))
 #undef  PL_statcache
-#define PL_statcache           pPerl->PL_statcache
+#define PL_statcache           (*Perl_Tstatcache_ptr(aTHXo))
 #undef  PL_statgv
-#define PL_statgv              pPerl->PL_statgv
+#define PL_statgv              (*Perl_Tstatgv_ptr(aTHXo))
 #undef  PL_statname
-#define PL_statname            pPerl->PL_statname
-#undef  PL_statusvalue
-#define PL_statusvalue         pPerl->PL_statusvalue
-#undef  PL_statusvalue_vms
-#define PL_statusvalue_vms     pPerl->PL_statusvalue_vms
-#undef  PL_stdingv
-#define PL_stdingv             pPerl->PL_stdingv
-#undef  PL_strchop
-#define PL_strchop             pPerl->PL_strchop
-#undef  PL_strtab
-#define PL_strtab              pPerl->PL_strtab
-#undef  PL_strtab_mutex
-#define PL_strtab_mutex                pPerl->PL_strtab_mutex
-#undef  PL_sub_generation
-#define PL_sub_generation      pPerl->PL_sub_generation
-#undef  PL_sublex_info
-#define PL_sublex_info         pPerl->PL_sublex_info
-#undef  PL_subline
-#define PL_subline             pPerl->PL_subline
-#undef  PL_subname
-#define PL_subname             pPerl->PL_subname
-#undef  PL_sv_arenaroot
-#define PL_sv_arenaroot                pPerl->PL_sv_arenaroot
-#undef  PL_sv_count
-#define PL_sv_count            pPerl->PL_sv_count
-#undef  PL_sv_mutex
-#define PL_sv_mutex            pPerl->PL_sv_mutex
-#undef  PL_sv_no
-#define PL_sv_no               pPerl->PL_sv_no
-#undef  PL_sv_objcount
-#define PL_sv_objcount         pPerl->PL_sv_objcount
-#undef  PL_sv_root
-#define PL_sv_root             pPerl->PL_sv_root
-#undef  PL_sv_undef
-#define PL_sv_undef            pPerl->PL_sv_undef
-#undef  PL_sv_yes
-#define PL_sv_yes              pPerl->PL_sv_yes
-#undef  PL_svref_mutex
-#define PL_svref_mutex         pPerl->PL_svref_mutex
-#undef  PL_sys_intern
-#define PL_sys_intern          pPerl->PL_sys_intern
+#define PL_statname            (*Perl_Tstatname_ptr(aTHXo))
 #undef  PL_tainted
-#define PL_tainted             pPerl->PL_tainted
-#undef  PL_tainting
-#define PL_tainting            pPerl->PL_tainting
-#undef  PL_thisexpr
-#define PL_thisexpr            pPerl->PL_thisexpr
-#undef  PL_thr_key
-#define PL_thr_key             pPerl->PL_thr_key
-#undef  PL_threadnum
-#define PL_threadnum           pPerl->PL_threadnum
-#undef  PL_threads_mutex
-#define PL_threads_mutex       pPerl->PL_threads_mutex
-#undef  PL_threadsv_names
-#define PL_threadsv_names      pPerl->PL_threadsv_names
-#undef  PL_thrsv
-#define PL_thrsv               pPerl->PL_thrsv
+#define PL_tainted             (*Perl_Ttainted_ptr(aTHXo))
 #undef  PL_timesbuf
-#define PL_timesbuf            pPerl->PL_timesbuf
+#define PL_timesbuf            (*Perl_Ttimesbuf_ptr(aTHXo))
 #undef  PL_tmps_floor
-#define PL_tmps_floor          pPerl->PL_tmps_floor
+#define PL_tmps_floor          (*Perl_Ttmps_floor_ptr(aTHXo))
 #undef  PL_tmps_ix
-#define PL_tmps_ix             pPerl->PL_tmps_ix
+#define PL_tmps_ix             (*Perl_Ttmps_ix_ptr(aTHXo))
 #undef  PL_tmps_max
-#define PL_tmps_max            pPerl->PL_tmps_max
+#define PL_tmps_max            (*Perl_Ttmps_max_ptr(aTHXo))
 #undef  PL_tmps_stack
-#define PL_tmps_stack          pPerl->PL_tmps_stack
-#undef  PL_tokenbuf
-#define PL_tokenbuf            pPerl->PL_tokenbuf
+#define PL_tmps_stack          (*Perl_Ttmps_stack_ptr(aTHXo))
 #undef  PL_top_env
-#define PL_top_env             pPerl->PL_top_env
+#define PL_top_env             (*Perl_Ttop_env_ptr(aTHXo))
 #undef  PL_toptarget
-#define PL_toptarget           pPerl->PL_toptarget
-#undef  PL_uid
-#define PL_uid                 pPerl->PL_uid
-#undef  PL_unsafe
-#define PL_unsafe              pPerl->PL_unsafe
-#undef  PL_utf8_alnum
-#define PL_utf8_alnum          pPerl->PL_utf8_alnum
-#undef  PL_utf8_alpha
-#define PL_utf8_alpha          pPerl->PL_utf8_alpha
-#undef  PL_utf8_digit
-#define PL_utf8_digit          pPerl->PL_utf8_digit
-#undef  PL_utf8_lower
-#define PL_utf8_lower          pPerl->PL_utf8_lower
-#undef  PL_utf8_mark
-#define PL_utf8_mark           pPerl->PL_utf8_mark
-#undef  PL_utf8_print
-#define PL_utf8_print          pPerl->PL_utf8_print
-#undef  PL_utf8_space
-#define PL_utf8_space          pPerl->PL_utf8_space
-#undef  PL_utf8_tolower
-#define PL_utf8_tolower                pPerl->PL_utf8_tolower
-#undef  PL_utf8_totitle
-#define PL_utf8_totitle                pPerl->PL_utf8_totitle
-#undef  PL_utf8_toupper
-#define PL_utf8_toupper                pPerl->PL_utf8_toupper
-#undef  PL_utf8_upper
-#define PL_utf8_upper          pPerl->PL_utf8_upper
-#undef  PL_uudmap
-#define PL_uudmap              pPerl->PL_uudmap
-#undef  PL_warnhook
-#define PL_warnhook            pPerl->PL_warnhook
+#define PL_toptarget           (*Perl_Ttoptarget_ptr(aTHXo))
 #undef  PL_watchaddr
-#define PL_watchaddr           pPerl->PL_watchaddr
+#define PL_watchaddr           (*Perl_Twatchaddr_ptr(aTHXo))
 #undef  PL_watchok
-#define PL_watchok             pPerl->PL_watchok
-#undef  PL_xiv_arenaroot
-#define PL_xiv_arenaroot       pPerl->PL_xiv_arenaroot
-#undef  PL_xiv_root
-#define PL_xiv_root            pPerl->PL_xiv_root
-#undef  PL_xnv_root
-#define PL_xnv_root            pPerl->PL_xnv_root
-#undef  PL_xpv_root
-#define PL_xpv_root            pPerl->PL_xpv_root
-#undef  PL_xrv_root
-#define PL_xrv_root            pPerl->PL_xrv_root
-#undef  PL_yychar
-#define PL_yychar              pPerl->PL_yychar
-#undef  PL_yydebug
-#define PL_yydebug             pPerl->PL_yydebug
-#undef  PL_yyerrflag
-#define PL_yyerrflag           pPerl->PL_yyerrflag
-#undef  PL_yylval
-#define PL_yylval              pPerl->PL_yylval
-#undef  PL_yynerrs
-#define PL_yynerrs             pPerl->PL_yynerrs
-#undef  PL_yyval
-#define PL_yyval               pPerl->PL_yyval
+#define PL_watchok             (*Perl_Twatchok_ptr(aTHXo))
+#undef  PL_No
+#define PL_No                  (*Perl_GNo_ptr(NULL))
+#undef  PL_Yes
+#define PL_Yes                 (*Perl_GYes_ptr(NULL))
+#undef  PL_curinterp
+#define PL_curinterp           (*Perl_Gcurinterp_ptr(NULL))
+#undef  PL_do_undump
+#define PL_do_undump           (*Perl_Gdo_undump_ptr(NULL))
+#undef  PL_hexdigit
+#define PL_hexdigit            (*Perl_Ghexdigit_ptr(NULL))
+#undef  PL_patleave
+#define PL_patleave            (*Perl_Gpatleave_ptr(NULL))
 
 /* Functions */
 
 #if defined(PERL_OBJECT)
+
+/* XXX soon to be eliminated, only a few things in PERLCORE need these now */
+
+#if defined(PERL_OBJECT)
 #endif
 #undef  Perl_amagic_call
 #define Perl_amagic_call       pPerl->Perl_amagic_call
 #define Perl_apply             pPerl->Perl_apply
 #undef  apply
 #define apply                  Perl_apply
-#undef  Perl_assertref
-#define Perl_assertref         pPerl->Perl_assertref
-#undef  assertref
-#define assertref              Perl_assertref
 #undef  Perl_avhv_exists_ent
 #define Perl_avhv_exists_ent   pPerl->Perl_avhv_exists_ent
 #undef  avhv_exists_ent
 #define Perl_croak             pPerl->Perl_croak
 #undef  croak
 #define croak                  Perl_croak
+#undef  Perl_vcroak
+#define Perl_vcroak            pPerl->Perl_vcroak
+#undef  vcroak
+#define vcroak                 Perl_vcroak
 #if defined(PERL_IMPLICIT_CONTEXT)
 #undef  Perl_croak_nocontext
 #define Perl_croak_nocontext   pPerl->Perl_croak_nocontext
 #define Perl_die_nocontext     pPerl->Perl_die_nocontext
 #undef  die_nocontext
 #define die_nocontext          Perl_die_nocontext
+#undef  Perl_deb_nocontext
+#define Perl_deb_nocontext     pPerl->Perl_deb_nocontext
+#undef  deb_nocontext
+#define deb_nocontext          Perl_deb_nocontext
 #undef  Perl_form_nocontext
 #define Perl_form_nocontext    pPerl->Perl_form_nocontext
 #undef  form_nocontext
 #define Perl_warn_nocontext    pPerl->Perl_warn_nocontext
 #undef  warn_nocontext
 #define warn_nocontext         Perl_warn_nocontext
+#undef  Perl_warner_nocontext
+#define Perl_warner_nocontext  pPerl->Perl_warner_nocontext
+#undef  warner_nocontext
+#define warner_nocontext       Perl_warner_nocontext
 #undef  Perl_newSVpvf_nocontext
 #define Perl_newSVpvf_nocontext        pPerl->Perl_newSVpvf_nocontext
 #undef  newSVpvf_nocontext
 #define Perl_sv_setpvf_mg_nocontext    pPerl->Perl_sv_setpvf_mg_nocontext
 #undef  sv_setpvf_mg_nocontext
 #define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#undef  Perl_fprintf_nocontext
+#define Perl_fprintf_nocontext pPerl->Perl_fprintf_nocontext
+#undef  fprintf_nocontext
+#define fprintf_nocontext      Perl_fprintf_nocontext
 #endif
 #undef  Perl_cv_ckproto
 #define Perl_cv_ckproto                pPerl->Perl_cv_ckproto
 #define Perl_deb               pPerl->Perl_deb
 #undef  deb
 #define deb                    Perl_deb
+#undef  Perl_vdeb
+#define Perl_vdeb              pPerl->Perl_vdeb
+#undef  vdeb
+#define vdeb                   Perl_vdeb
 #undef  Perl_deb_growlevel
 #define Perl_deb_growlevel     pPerl->Perl_deb_growlevel
 #undef  deb_growlevel
 #define Perl_die               pPerl->Perl_die
 #undef  die
 #define die                    Perl_die
+#undef  Perl_vdie
+#define Perl_vdie              pPerl->Perl_vdie
+#undef  vdie
+#define vdie                   Perl_vdie
 #undef  Perl_die_where
 #define Perl_die_where         pPerl->Perl_die_where
 #undef  die_where
 #define Perl_do_aexec          pPerl->Perl_do_aexec
 #undef  do_aexec
 #define do_aexec               Perl_do_aexec
+#undef  Perl_do_aexec5
+#define Perl_do_aexec5         pPerl->Perl_do_aexec5
+#undef  do_aexec5
+#define do_aexec5              Perl_do_aexec5
 #undef  Perl_do_binmode
 #define Perl_do_binmode                pPerl->Perl_do_binmode
 #undef  do_binmode
 #define Perl_do_open           pPerl->Perl_do_open
 #undef  do_open
 #define do_open                        Perl_do_open
+#undef  Perl_do_open9
+#define Perl_do_open9          pPerl->Perl_do_open9
+#undef  do_open9
+#define do_open9               Perl_do_open9
 #undef  Perl_do_pipe
 #define Perl_do_pipe           pPerl->Perl_do_pipe
 #undef  do_pipe
 #define Perl_form              pPerl->Perl_form
 #undef  form
 #define form                   Perl_form
+#undef  Perl_vform
+#define Perl_vform             pPerl->Perl_vform
+#undef  vform
+#define vform                  Perl_vform
 #undef  Perl_free_tmps
 #define Perl_free_tmps         pPerl->Perl_free_tmps
 #undef  free_tmps
 #define Perl_ingroup           pPerl->Perl_ingroup
 #undef  ingroup
 #define ingroup                        Perl_ingroup
+#undef  Perl_init_debugger
+#define Perl_init_debugger     pPerl->Perl_init_debugger
+#undef  init_debugger
+#define init_debugger          Perl_init_debugger
 #undef  Perl_init_stacks
 #define Perl_init_stacks       pPerl->Perl_init_stacks
 #undef  init_stacks
 #define Perl_is_uni_alnum      pPerl->Perl_is_uni_alnum
 #undef  is_uni_alnum
 #define is_uni_alnum           Perl_is_uni_alnum
+#undef  Perl_is_uni_alnumc
+#define Perl_is_uni_alnumc     pPerl->Perl_is_uni_alnumc
+#undef  is_uni_alnumc
+#define is_uni_alnumc          Perl_is_uni_alnumc
 #undef  Perl_is_uni_idfirst
 #define Perl_is_uni_idfirst    pPerl->Perl_is_uni_idfirst
 #undef  is_uni_idfirst
 #define Perl_is_uni_alpha      pPerl->Perl_is_uni_alpha
 #undef  is_uni_alpha
 #define is_uni_alpha           Perl_is_uni_alpha
+#undef  Perl_is_uni_ascii
+#define Perl_is_uni_ascii      pPerl->Perl_is_uni_ascii
+#undef  is_uni_ascii
+#define is_uni_ascii           Perl_is_uni_ascii
 #undef  Perl_is_uni_space
 #define Perl_is_uni_space      pPerl->Perl_is_uni_space
 #undef  is_uni_space
 #define is_uni_space           Perl_is_uni_space
+#undef  Perl_is_uni_cntrl
+#define Perl_is_uni_cntrl      pPerl->Perl_is_uni_cntrl
+#undef  is_uni_cntrl
+#define is_uni_cntrl           Perl_is_uni_cntrl
+#undef  Perl_is_uni_graph
+#define Perl_is_uni_graph      pPerl->Perl_is_uni_graph
+#undef  is_uni_graph
+#define is_uni_graph           Perl_is_uni_graph
 #undef  Perl_is_uni_digit
 #define Perl_is_uni_digit      pPerl->Perl_is_uni_digit
 #undef  is_uni_digit
 #define Perl_is_uni_print      pPerl->Perl_is_uni_print
 #undef  is_uni_print
 #define is_uni_print           Perl_is_uni_print
+#undef  Perl_is_uni_punct
+#define Perl_is_uni_punct      pPerl->Perl_is_uni_punct
+#undef  is_uni_punct
+#define is_uni_punct           Perl_is_uni_punct
+#undef  Perl_is_uni_xdigit
+#define Perl_is_uni_xdigit     pPerl->Perl_is_uni_xdigit
+#undef  is_uni_xdigit
+#define is_uni_xdigit          Perl_is_uni_xdigit
 #undef  Perl_to_uni_upper
 #define Perl_to_uni_upper      pPerl->Perl_to_uni_upper
 #undef  to_uni_upper
 #define Perl_is_uni_alnum_lc   pPerl->Perl_is_uni_alnum_lc
 #undef  is_uni_alnum_lc
 #define is_uni_alnum_lc                Perl_is_uni_alnum_lc
+#undef  Perl_is_uni_alnumc_lc
+#define Perl_is_uni_alnumc_lc  pPerl->Perl_is_uni_alnumc_lc
+#undef  is_uni_alnumc_lc
+#define is_uni_alnumc_lc       Perl_is_uni_alnumc_lc
 #undef  Perl_is_uni_idfirst_lc
 #define Perl_is_uni_idfirst_lc pPerl->Perl_is_uni_idfirst_lc
 #undef  is_uni_idfirst_lc
 #define Perl_is_uni_alpha_lc   pPerl->Perl_is_uni_alpha_lc
 #undef  is_uni_alpha_lc
 #define is_uni_alpha_lc                Perl_is_uni_alpha_lc
+#undef  Perl_is_uni_ascii_lc
+#define Perl_is_uni_ascii_lc   pPerl->Perl_is_uni_ascii_lc
+#undef  is_uni_ascii_lc
+#define is_uni_ascii_lc                Perl_is_uni_ascii_lc
 #undef  Perl_is_uni_space_lc
 #define Perl_is_uni_space_lc   pPerl->Perl_is_uni_space_lc
 #undef  is_uni_space_lc
 #define is_uni_space_lc                Perl_is_uni_space_lc
+#undef  Perl_is_uni_cntrl_lc
+#define Perl_is_uni_cntrl_lc   pPerl->Perl_is_uni_cntrl_lc
+#undef  is_uni_cntrl_lc
+#define is_uni_cntrl_lc                Perl_is_uni_cntrl_lc
+#undef  Perl_is_uni_graph_lc
+#define Perl_is_uni_graph_lc   pPerl->Perl_is_uni_graph_lc
+#undef  is_uni_graph_lc
+#define is_uni_graph_lc                Perl_is_uni_graph_lc
 #undef  Perl_is_uni_digit_lc
 #define Perl_is_uni_digit_lc   pPerl->Perl_is_uni_digit_lc
 #undef  is_uni_digit_lc
 #define Perl_is_uni_print_lc   pPerl->Perl_is_uni_print_lc
 #undef  is_uni_print_lc
 #define is_uni_print_lc                Perl_is_uni_print_lc
+#undef  Perl_is_uni_punct_lc
+#define Perl_is_uni_punct_lc   pPerl->Perl_is_uni_punct_lc
+#undef  is_uni_punct_lc
+#define is_uni_punct_lc                Perl_is_uni_punct_lc
+#undef  Perl_is_uni_xdigit_lc
+#define Perl_is_uni_xdigit_lc  pPerl->Perl_is_uni_xdigit_lc
+#undef  is_uni_xdigit_lc
+#define is_uni_xdigit_lc       Perl_is_uni_xdigit_lc
 #undef  Perl_to_uni_upper_lc
 #define Perl_to_uni_upper_lc   pPerl->Perl_to_uni_upper_lc
 #undef  to_uni_upper_lc
 #define Perl_is_utf8_alnum     pPerl->Perl_is_utf8_alnum
 #undef  is_utf8_alnum
 #define is_utf8_alnum          Perl_is_utf8_alnum
+#undef  Perl_is_utf8_alnumc
+#define Perl_is_utf8_alnumc    pPerl->Perl_is_utf8_alnumc
+#undef  is_utf8_alnumc
+#define is_utf8_alnumc         Perl_is_utf8_alnumc
 #undef  Perl_is_utf8_idfirst
 #define Perl_is_utf8_idfirst   pPerl->Perl_is_utf8_idfirst
 #undef  is_utf8_idfirst
 #define Perl_is_utf8_alpha     pPerl->Perl_is_utf8_alpha
 #undef  is_utf8_alpha
 #define is_utf8_alpha          Perl_is_utf8_alpha
+#undef  Perl_is_utf8_ascii
+#define Perl_is_utf8_ascii     pPerl->Perl_is_utf8_ascii
+#undef  is_utf8_ascii
+#define is_utf8_ascii          Perl_is_utf8_ascii
 #undef  Perl_is_utf8_space
 #define Perl_is_utf8_space     pPerl->Perl_is_utf8_space
 #undef  is_utf8_space
 #define is_utf8_space          Perl_is_utf8_space
+#undef  Perl_is_utf8_cntrl
+#define Perl_is_utf8_cntrl     pPerl->Perl_is_utf8_cntrl
+#undef  is_utf8_cntrl
+#define is_utf8_cntrl          Perl_is_utf8_cntrl
 #undef  Perl_is_utf8_digit
 #define Perl_is_utf8_digit     pPerl->Perl_is_utf8_digit
 #undef  is_utf8_digit
 #define is_utf8_digit          Perl_is_utf8_digit
+#undef  Perl_is_utf8_graph
+#define Perl_is_utf8_graph     pPerl->Perl_is_utf8_graph
+#undef  is_utf8_graph
+#define is_utf8_graph          Perl_is_utf8_graph
 #undef  Perl_is_utf8_upper
 #define Perl_is_utf8_upper     pPerl->Perl_is_utf8_upper
 #undef  is_utf8_upper
 #define Perl_is_utf8_print     pPerl->Perl_is_utf8_print
 #undef  is_utf8_print
 #define is_utf8_print          Perl_is_utf8_print
+#undef  Perl_is_utf8_punct
+#define Perl_is_utf8_punct     pPerl->Perl_is_utf8_punct
+#undef  is_utf8_punct
+#define is_utf8_punct          Perl_is_utf8_punct
+#undef  Perl_is_utf8_xdigit
+#define Perl_is_utf8_xdigit    pPerl->Perl_is_utf8_xdigit
+#undef  is_utf8_xdigit
+#define is_utf8_xdigit         Perl_is_utf8_xdigit
 #undef  Perl_is_utf8_mark
 #define Perl_is_utf8_mark      pPerl->Perl_is_utf8_mark
 #undef  is_utf8_mark
 #define Perl_newSVpvf          pPerl->Perl_newSVpvf
 #undef  newSVpvf
 #define newSVpvf               Perl_newSVpvf
+#undef  Perl_vnewSVpvf
+#define Perl_vnewSVpvf         pPerl->Perl_vnewSVpvf
+#undef  vnewSVpvf
+#define vnewSVpvf              Perl_vnewSVpvf
 #undef  Perl_newSVrv
 #define Perl_newSVrv           pPerl->Perl_newSVrv
 #undef  newSVrv
 #define Perl_newWHILEOP                pPerl->Perl_newWHILEOP
 #undef  newWHILEOP
 #define newWHILEOP             Perl_newWHILEOP
-#if defined(USE_THREADS)
-#undef  Perl_new_struct_thread
-#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
-#undef  new_struct_thread
-#define new_struct_thread      Perl_new_struct_thread
-#endif
 #undef  Perl_new_stackinfo
 #define Perl_new_stackinfo     pPerl->Perl_new_stackinfo
 #undef  new_stackinfo
 #define perl_run               pPerl->perl_run
 #undef  perl_parse
 #define perl_parse             pPerl->perl_parse
+#if defined(USE_THREADS)
+#undef  Perl_new_struct_thread
+#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
+#undef  new_struct_thread
+#define new_struct_thread      Perl_new_struct_thread
+#endif
 #endif
 #undef  Perl_call_atexit
 #define Perl_call_atexit       pPerl->Perl_call_atexit
 #define Perl_sv_catpvf         pPerl->Perl_sv_catpvf
 #undef  sv_catpvf
 #define sv_catpvf              Perl_sv_catpvf
+#undef  Perl_sv_vcatpvf
+#define Perl_sv_vcatpvf                pPerl->Perl_sv_vcatpvf
+#undef  sv_vcatpvf
+#define sv_vcatpvf             Perl_sv_vcatpvf
 #undef  Perl_sv_catpv
 #define Perl_sv_catpv          pPerl->Perl_sv_catpv
 #undef  sv_catpv
 #define Perl_sv_setpvf         pPerl->Perl_sv_setpvf
 #undef  sv_setpvf
 #define sv_setpvf              Perl_sv_setpvf
+#undef  Perl_sv_vsetpvf
+#define Perl_sv_vsetpvf                pPerl->Perl_sv_vsetpvf
+#undef  sv_vsetpvf
+#define sv_vsetpvf             Perl_sv_vsetpvf
 #undef  Perl_sv_setiv
 #define Perl_sv_setiv          pPerl->Perl_sv_setiv
 #undef  sv_setiv
 #define Perl_warn              pPerl->Perl_warn
 #undef  warn
 #define warn                   Perl_warn
+#undef  Perl_vwarn
+#define Perl_vwarn             pPerl->Perl_vwarn
+#undef  vwarn
+#define vwarn                  Perl_vwarn
 #undef  Perl_warner
 #define Perl_warner            pPerl->Perl_warner
 #undef  warner
 #define warner                 Perl_warner
+#undef  Perl_vwarner
+#define Perl_vwarner           pPerl->Perl_vwarner
+#undef  vwarner
+#define vwarner                        Perl_vwarner
 #undef  Perl_watch
 #define Perl_watch             pPerl->Perl_watch
 #undef  watch
 #undef  GetVars
 #define GetVars                        Perl_GetVars
 #endif
-#undef  Perl_yydestruct
-#define Perl_yydestruct                pPerl->Perl_yydestruct
-#undef  yydestruct
-#define yydestruct             Perl_yydestruct
 #undef  Perl_runops_standard
 #define Perl_runops_standard   pPerl->Perl_runops_standard
 #undef  runops_standard
 #define Perl_runops_debug      pPerl->Perl_runops_debug
 #undef  runops_debug
 #define runops_debug           Perl_runops_debug
-#if defined(WIN32)
-#if defined(PERL_OBJECT)
-#undef  Perl_ErrorNo
-#define Perl_ErrorNo           pPerl->Perl_ErrorNo
-#undef  ErrorNo
-#define ErrorNo                        Perl_ErrorNo
-#else
-#undef  Perl_ErrorNo
-#define Perl_ErrorNo           pPerl->Perl_ErrorNo
-#undef  ErrorNo
-#define ErrorNo                        Perl_ErrorNo
-#endif
-#endif
 #undef  Perl_sv_catpvf_mg
 #define Perl_sv_catpvf_mg      pPerl->Perl_sv_catpvf_mg
 #undef  sv_catpvf_mg
 #define sv_catpvf_mg           Perl_sv_catpvf_mg
+#undef  Perl_sv_vcatpvf_mg
+#define Perl_sv_vcatpvf_mg     pPerl->Perl_sv_vcatpvf_mg
+#undef  sv_vcatpvf_mg
+#define sv_vcatpvf_mg          Perl_sv_vcatpvf_mg
 #undef  Perl_sv_catpv_mg
 #define Perl_sv_catpv_mg       pPerl->Perl_sv_catpv_mg
 #undef  sv_catpv_mg
 #define Perl_sv_setpvf_mg      pPerl->Perl_sv_setpvf_mg
 #undef  sv_setpvf_mg
 #define sv_setpvf_mg           Perl_sv_setpvf_mg
+#undef  Perl_sv_vsetpvf_mg
+#define Perl_sv_vsetpvf_mg     pPerl->Perl_sv_vsetpvf_mg
+#undef  sv_vsetpvf_mg
+#define sv_vsetpvf_mg          Perl_sv_vsetpvf_mg
 #undef  Perl_sv_setiv_mg
 #define Perl_sv_setiv_mg       pPerl->Perl_sv_setiv_mg
 #undef  sv_setiv_mg
 #define Perl_dump_indent       pPerl->Perl_dump_indent
 #undef  dump_indent
 #define dump_indent            Perl_dump_indent
+#undef  Perl_dump_vindent
+#define Perl_dump_vindent      pPerl->Perl_dump_vindent
+#undef  dump_vindent
+#define dump_vindent           Perl_dump_vindent
 #undef  Perl_do_gv_dump
 #define Perl_do_gv_dump                pPerl->Perl_do_gv_dump
 #undef  do_gv_dump
 #define Perl_default_protect   pPerl->Perl_default_protect
 #undef  default_protect
 #define default_protect                Perl_default_protect
+#undef  Perl_vdefault_protect
+#define Perl_vdefault_protect  pPerl->Perl_vdefault_protect
+#undef  vdefault_protect
+#define vdefault_protect       Perl_vdefault_protect
 #undef  Perl_reginitcolors
 #define Perl_reginitcolors     pPerl->Perl_reginitcolors
 #undef  reginitcolors
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#  if defined(USE_THREADS)
-#  endif
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 #define Perl_ck_match          pPerl->Perl_ck_match
 #undef  ck_match
 #define ck_match               Perl_ck_match
+#undef  Perl_ck_method
+#define Perl_ck_method         pPerl->Perl_ck_method
+#undef  ck_method
+#define ck_method              Perl_ck_method
 #undef  Perl_ck_null
 #define Perl_ck_null           pPerl->Perl_ck_null
 #undef  ck_null
 #define Perl_pp_method         pPerl->Perl_pp_method
 #undef  pp_method
 #define pp_method              Perl_pp_method
+#undef  Perl_pp_method_named
+#define Perl_pp_method_named   pPerl->Perl_pp_method_named
+#undef  pp_method_named
+#define pp_method_named                Perl_pp_method_named
 #undef  Perl_pp_mkdir
 #define Perl_pp_mkdir          pPerl->Perl_pp_mkdir
 #undef  pp_mkdir
 #define Perl_pp_setpriority    pPerl->Perl_pp_setpriority
 #undef  pp_setpriority
 #define pp_setpriority         Perl_pp_setpriority
+#undef  Perl_pp_setstate
+#define Perl_pp_setstate       pPerl->Perl_pp_setstate
+#undef  pp_setstate
+#define pp_setstate            Perl_pp_setstate
 #undef  Perl_pp_sge
 #define Perl_pp_sge            pPerl->Perl_pp_sge
 #undef  pp_sge
 #undef  pp_xor
 #define pp_xor                 Perl_pp_xor
 
+#endif  /* PERL_OBJECT */
 #endif /* __objXSUB_h__ */