Removing so_locations once is enough.
[p5sagit/p5-mst-13.2.git] / embedvar.h
index 6933cec..39bf22b 100644 (file)
 #define PL_reg_eval_set                (my_perl->Treg_eval_set)
 #define PL_reg_flags           (my_perl->Treg_flags)
 #define PL_reg_ganch           (my_perl->Treg_ganch)
+#define PL_reg_leftiter                (my_perl->Treg_leftiter)
 #define PL_reg_magic           (my_perl->Treg_magic)
+#define PL_reg_maxiter         (my_perl->Treg_maxiter)
 #define PL_reg_oldcurpm                (my_perl->Treg_oldcurpm)
 #define PL_reg_oldpos          (my_perl->Treg_oldpos)
 #define PL_reg_oldsaved                (my_perl->Treg_oldsaved)
 #define PL_reg_oldsavedlen     (my_perl->Treg_oldsavedlen)
+#define PL_reg_poscache                (my_perl->Treg_poscache)
+#define PL_reg_poscache_size   (my_perl->Treg_poscache_size)
 #define PL_reg_re              (my_perl->Treg_re)
 #define PL_reg_start_tmp       (my_perl->Treg_start_tmp)
 #define PL_reg_start_tmpl      (my_perl->Treg_start_tmpl)
 #define PL_reg_starttry                (my_perl->Treg_starttry)
 #define PL_reg_sv              (my_perl->Treg_sv)
+#define PL_reg_whilem_seen     (my_perl->Treg_whilem_seen)
 #define PL_regbol              (my_perl->Tregbol)
 #define PL_regcc               (my_perl->Tregcc)
 #define PL_regcode             (my_perl->Tregcode)
 
 /* traditional MULTIPLICITY (intepreter is in a global) */
 
-#define PL_Sv                  (PL_curinterp->TSv)
-#define PL_Xpv                 (PL_curinterp->TXpv)
-#define PL_av_fetch_sv         (PL_curinterp->Tav_fetch_sv)
-#define PL_bodytarget          (PL_curinterp->Tbodytarget)
-#define PL_bostr               (PL_curinterp->Tbostr)
-#define PL_chopset             (PL_curinterp->Tchopset)
-#define PL_colors              (PL_curinterp->Tcolors)
-#define PL_colorset            (PL_curinterp->Tcolorset)
-#define PL_curcop              (PL_curinterp->Tcurcop)
-#define PL_curpad              (PL_curinterp->Tcurpad)
-#define PL_curpm               (PL_curinterp->Tcurpm)
-#define PL_curstack            (PL_curinterp->Tcurstack)
-#define PL_curstackinfo                (PL_curinterp->Tcurstackinfo)
-#define PL_curstash            (PL_curinterp->Tcurstash)
-#define PL_defoutgv            (PL_curinterp->Tdefoutgv)
-#define PL_defstash            (PL_curinterp->Tdefstash)
-#define PL_delaymagic          (PL_curinterp->Tdelaymagic)
-#define PL_dirty               (PL_curinterp->Tdirty)
-#define PL_dumpindent          (PL_curinterp->Tdumpindent)
-#define PL_extralen            (PL_curinterp->Textralen)
-#define PL_firstgv             (PL_curinterp->Tfirstgv)
-#define PL_formtarget          (PL_curinterp->Tformtarget)
-#define PL_hv_fetch_ent_mh     (PL_curinterp->Thv_fetch_ent_mh)
-#define PL_hv_fetch_sv         (PL_curinterp->Thv_fetch_sv)
-#define PL_in_eval             (PL_curinterp->Tin_eval)
-#define PL_last_in_gv          (PL_curinterp->Tlast_in_gv)
-#define PL_lastgotoprobe       (PL_curinterp->Tlastgotoprobe)
-#define PL_lastscream          (PL_curinterp->Tlastscream)
-#define PL_localizing          (PL_curinterp->Tlocalizing)
-#define PL_mainstack           (PL_curinterp->Tmainstack)
-#define PL_markstack           (PL_curinterp->Tmarkstack)
-#define PL_markstack_max       (PL_curinterp->Tmarkstack_max)
-#define PL_markstack_ptr       (PL_curinterp->Tmarkstack_ptr)
-#define PL_maxscream           (PL_curinterp->Tmaxscream)
-#define PL_modcount            (PL_curinterp->Tmodcount)
-#define PL_na                  (PL_curinterp->Tna)
-#define PL_nrs                 (PL_curinterp->Tnrs)
-#define PL_ofs                 (PL_curinterp->Tofs)
-#define PL_ofslen              (PL_curinterp->Tofslen)
-#define PL_op                  (PL_curinterp->Top)
-#define PL_opsave              (PL_curinterp->Topsave)
-#define PL_protect             (PL_curinterp->Tprotect)
-#define PL_reg_call_cc         (PL_curinterp->Treg_call_cc)
-#define PL_reg_curpm           (PL_curinterp->Treg_curpm)
-#define PL_reg_eval_set                (PL_curinterp->Treg_eval_set)
-#define PL_reg_flags           (PL_curinterp->Treg_flags)
-#define PL_reg_ganch           (PL_curinterp->Treg_ganch)
-#define PL_reg_magic           (PL_curinterp->Treg_magic)
-#define PL_reg_oldcurpm                (PL_curinterp->Treg_oldcurpm)
-#define PL_reg_oldpos          (PL_curinterp->Treg_oldpos)
-#define PL_reg_oldsaved                (PL_curinterp->Treg_oldsaved)
-#define PL_reg_oldsavedlen     (PL_curinterp->Treg_oldsavedlen)
-#define PL_reg_re              (PL_curinterp->Treg_re)
-#define PL_reg_start_tmp       (PL_curinterp->Treg_start_tmp)
-#define PL_reg_start_tmpl      (PL_curinterp->Treg_start_tmpl)
-#define PL_reg_starttry                (PL_curinterp->Treg_starttry)
-#define PL_reg_sv              (PL_curinterp->Treg_sv)
-#define PL_regbol              (PL_curinterp->Tregbol)
-#define PL_regcc               (PL_curinterp->Tregcc)
-#define PL_regcode             (PL_curinterp->Tregcode)
-#define PL_regcomp_parse       (PL_curinterp->Tregcomp_parse)
-#define PL_regcomp_rx          (PL_curinterp->Tregcomp_rx)
-#define PL_regcompp            (PL_curinterp->Tregcompp)
-#define PL_regdata             (PL_curinterp->Tregdata)
-#define PL_regdummy            (PL_curinterp->Tregdummy)
-#define PL_regendp             (PL_curinterp->Tregendp)
-#define PL_regeol              (PL_curinterp->Tregeol)
-#define PL_regexecp            (PL_curinterp->Tregexecp)
-#define PL_regflags            (PL_curinterp->Tregflags)
-#define PL_regfree             (PL_curinterp->Tregfree)
-#define PL_regindent           (PL_curinterp->Tregindent)
-#define PL_reginput            (PL_curinterp->Treginput)
-#define PL_regint_start                (PL_curinterp->Tregint_start)
-#define PL_regint_string       (PL_curinterp->Tregint_string)
-#define PL_reginterp_cnt       (PL_curinterp->Treginterp_cnt)
-#define PL_reglastparen                (PL_curinterp->Treglastparen)
-#define PL_regnarrate          (PL_curinterp->Tregnarrate)
-#define PL_regnaughty          (PL_curinterp->Tregnaughty)
-#define PL_regnpar             (PL_curinterp->Tregnpar)
-#define PL_regprecomp          (PL_curinterp->Tregprecomp)
-#define PL_regprev             (PL_curinterp->Tregprev)
-#define PL_regprogram          (PL_curinterp->Tregprogram)
-#define PL_regsawback          (PL_curinterp->Tregsawback)
-#define PL_regseen             (PL_curinterp->Tregseen)
-#define PL_regsize             (PL_curinterp->Tregsize)
-#define PL_regstartp           (PL_curinterp->Tregstartp)
-#define PL_regtill             (PL_curinterp->Tregtill)
-#define PL_regxend             (PL_curinterp->Tregxend)
-#define PL_restartop           (PL_curinterp->Trestartop)
-#define PL_retstack            (PL_curinterp->Tretstack)
-#define PL_retstack_ix         (PL_curinterp->Tretstack_ix)
-#define PL_retstack_max                (PL_curinterp->Tretstack_max)
-#define PL_rs                  (PL_curinterp->Trs)
-#define PL_savestack           (PL_curinterp->Tsavestack)
-#define PL_savestack_ix                (PL_curinterp->Tsavestack_ix)
-#define PL_savestack_max       (PL_curinterp->Tsavestack_max)
-#define PL_scopestack          (PL_curinterp->Tscopestack)
-#define PL_scopestack_ix       (PL_curinterp->Tscopestack_ix)
-#define PL_scopestack_max      (PL_curinterp->Tscopestack_max)
-#define PL_screamfirst         (PL_curinterp->Tscreamfirst)
-#define PL_screamnext          (PL_curinterp->Tscreamnext)
-#define PL_secondgv            (PL_curinterp->Tsecondgv)
-#define PL_seen_evals          (PL_curinterp->Tseen_evals)
-#define PL_seen_zerolen                (PL_curinterp->Tseen_zerolen)
-#define PL_sortcop             (PL_curinterp->Tsortcop)
-#define PL_sortcxix            (PL_curinterp->Tsortcxix)
-#define PL_sortstash           (PL_curinterp->Tsortstash)
-#define PL_stack_base          (PL_curinterp->Tstack_base)
-#define PL_stack_max           (PL_curinterp->Tstack_max)
-#define PL_stack_sp            (PL_curinterp->Tstack_sp)
-#define PL_start_env           (PL_curinterp->Tstart_env)
-#define PL_statbuf             (PL_curinterp->Tstatbuf)
-#define PL_statcache           (PL_curinterp->Tstatcache)
-#define PL_statgv              (PL_curinterp->Tstatgv)
-#define PL_statname            (PL_curinterp->Tstatname)
-#define PL_tainted             (PL_curinterp->Ttainted)
-#define PL_timesbuf            (PL_curinterp->Ttimesbuf)
-#define PL_tmps_floor          (PL_curinterp->Ttmps_floor)
-#define PL_tmps_ix             (PL_curinterp->Ttmps_ix)
-#define PL_tmps_max            (PL_curinterp->Ttmps_max)
-#define PL_tmps_stack          (PL_curinterp->Ttmps_stack)
-#define PL_top_env             (PL_curinterp->Ttop_env)
-#define PL_toptarget           (PL_curinterp->Ttoptarget)
-#define PL_watchaddr           (PL_curinterp->Twatchaddr)
-#define PL_watchok             (PL_curinterp->Twatchok)
+#define PL_Sv                  (PERL_GET_INTERP->TSv)
+#define PL_Xpv                 (PERL_GET_INTERP->TXpv)
+#define PL_av_fetch_sv         (PERL_GET_INTERP->Tav_fetch_sv)
+#define PL_bodytarget          (PERL_GET_INTERP->Tbodytarget)
+#define PL_bostr               (PERL_GET_INTERP->Tbostr)
+#define PL_chopset             (PERL_GET_INTERP->Tchopset)
+#define PL_colors              (PERL_GET_INTERP->Tcolors)
+#define PL_colorset            (PERL_GET_INTERP->Tcolorset)
+#define PL_curcop              (PERL_GET_INTERP->Tcurcop)
+#define PL_curpad              (PERL_GET_INTERP->Tcurpad)
+#define PL_curpm               (PERL_GET_INTERP->Tcurpm)
+#define PL_curstack            (PERL_GET_INTERP->Tcurstack)
+#define PL_curstackinfo                (PERL_GET_INTERP->Tcurstackinfo)
+#define PL_curstash            (PERL_GET_INTERP->Tcurstash)
+#define PL_defoutgv            (PERL_GET_INTERP->Tdefoutgv)
+#define PL_defstash            (PERL_GET_INTERP->Tdefstash)
+#define PL_delaymagic          (PERL_GET_INTERP->Tdelaymagic)
+#define PL_dirty               (PERL_GET_INTERP->Tdirty)
+#define PL_dumpindent          (PERL_GET_INTERP->Tdumpindent)
+#define PL_extralen            (PERL_GET_INTERP->Textralen)
+#define PL_firstgv             (PERL_GET_INTERP->Tfirstgv)
+#define PL_formtarget          (PERL_GET_INTERP->Tformtarget)
+#define PL_hv_fetch_ent_mh     (PERL_GET_INTERP->Thv_fetch_ent_mh)
+#define PL_hv_fetch_sv         (PERL_GET_INTERP->Thv_fetch_sv)
+#define PL_in_eval             (PERL_GET_INTERP->Tin_eval)
+#define PL_last_in_gv          (PERL_GET_INTERP->Tlast_in_gv)
+#define PL_lastgotoprobe       (PERL_GET_INTERP->Tlastgotoprobe)
+#define PL_lastscream          (PERL_GET_INTERP->Tlastscream)
+#define PL_localizing          (PERL_GET_INTERP->Tlocalizing)
+#define PL_mainstack           (PERL_GET_INTERP->Tmainstack)
+#define PL_markstack           (PERL_GET_INTERP->Tmarkstack)
+#define PL_markstack_max       (PERL_GET_INTERP->Tmarkstack_max)
+#define PL_markstack_ptr       (PERL_GET_INTERP->Tmarkstack_ptr)
+#define PL_maxscream           (PERL_GET_INTERP->Tmaxscream)
+#define PL_modcount            (PERL_GET_INTERP->Tmodcount)
+#define PL_na                  (PERL_GET_INTERP->Tna)
+#define PL_nrs                 (PERL_GET_INTERP->Tnrs)
+#define PL_ofs                 (PERL_GET_INTERP->Tofs)
+#define PL_ofslen              (PERL_GET_INTERP->Tofslen)
+#define PL_op                  (PERL_GET_INTERP->Top)
+#define PL_opsave              (PERL_GET_INTERP->Topsave)
+#define PL_protect             (PERL_GET_INTERP->Tprotect)
+#define PL_reg_call_cc         (PERL_GET_INTERP->Treg_call_cc)
+#define PL_reg_curpm           (PERL_GET_INTERP->Treg_curpm)
+#define PL_reg_eval_set                (PERL_GET_INTERP->Treg_eval_set)
+#define PL_reg_flags           (PERL_GET_INTERP->Treg_flags)
+#define PL_reg_ganch           (PERL_GET_INTERP->Treg_ganch)
+#define PL_reg_leftiter                (PERL_GET_INTERP->Treg_leftiter)
+#define PL_reg_magic           (PERL_GET_INTERP->Treg_magic)
+#define PL_reg_maxiter         (PERL_GET_INTERP->Treg_maxiter)
+#define PL_reg_oldcurpm                (PERL_GET_INTERP->Treg_oldcurpm)
+#define PL_reg_oldpos          (PERL_GET_INTERP->Treg_oldpos)
+#define PL_reg_oldsaved                (PERL_GET_INTERP->Treg_oldsaved)
+#define PL_reg_oldsavedlen     (PERL_GET_INTERP->Treg_oldsavedlen)
+#define PL_reg_poscache                (PERL_GET_INTERP->Treg_poscache)
+#define PL_reg_poscache_size   (PERL_GET_INTERP->Treg_poscache_size)
+#define PL_reg_re              (PERL_GET_INTERP->Treg_re)
+#define PL_reg_start_tmp       (PERL_GET_INTERP->Treg_start_tmp)
+#define PL_reg_start_tmpl      (PERL_GET_INTERP->Treg_start_tmpl)
+#define PL_reg_starttry                (PERL_GET_INTERP->Treg_starttry)
+#define PL_reg_sv              (PERL_GET_INTERP->Treg_sv)
+#define PL_reg_whilem_seen     (PERL_GET_INTERP->Treg_whilem_seen)
+#define PL_regbol              (PERL_GET_INTERP->Tregbol)
+#define PL_regcc               (PERL_GET_INTERP->Tregcc)
+#define PL_regcode             (PERL_GET_INTERP->Tregcode)
+#define PL_regcomp_parse       (PERL_GET_INTERP->Tregcomp_parse)
+#define PL_regcomp_rx          (PERL_GET_INTERP->Tregcomp_rx)
+#define PL_regcompp            (PERL_GET_INTERP->Tregcompp)
+#define PL_regdata             (PERL_GET_INTERP->Tregdata)
+#define PL_regdummy            (PERL_GET_INTERP->Tregdummy)
+#define PL_regendp             (PERL_GET_INTERP->Tregendp)
+#define PL_regeol              (PERL_GET_INTERP->Tregeol)
+#define PL_regexecp            (PERL_GET_INTERP->Tregexecp)
+#define PL_regflags            (PERL_GET_INTERP->Tregflags)
+#define PL_regfree             (PERL_GET_INTERP->Tregfree)
+#define PL_regindent           (PERL_GET_INTERP->Tregindent)
+#define PL_reginput            (PERL_GET_INTERP->Treginput)
+#define PL_regint_start                (PERL_GET_INTERP->Tregint_start)
+#define PL_regint_string       (PERL_GET_INTERP->Tregint_string)
+#define PL_reginterp_cnt       (PERL_GET_INTERP->Treginterp_cnt)
+#define PL_reglastparen                (PERL_GET_INTERP->Treglastparen)
+#define PL_regnarrate          (PERL_GET_INTERP->Tregnarrate)
+#define PL_regnaughty          (PERL_GET_INTERP->Tregnaughty)
+#define PL_regnpar             (PERL_GET_INTERP->Tregnpar)
+#define PL_regprecomp          (PERL_GET_INTERP->Tregprecomp)
+#define PL_regprev             (PERL_GET_INTERP->Tregprev)
+#define PL_regprogram          (PERL_GET_INTERP->Tregprogram)
+#define PL_regsawback          (PERL_GET_INTERP->Tregsawback)
+#define PL_regseen             (PERL_GET_INTERP->Tregseen)
+#define PL_regsize             (PERL_GET_INTERP->Tregsize)
+#define PL_regstartp           (PERL_GET_INTERP->Tregstartp)
+#define PL_regtill             (PERL_GET_INTERP->Tregtill)
+#define PL_regxend             (PERL_GET_INTERP->Tregxend)
+#define PL_restartop           (PERL_GET_INTERP->Trestartop)
+#define PL_retstack            (PERL_GET_INTERP->Tretstack)
+#define PL_retstack_ix         (PERL_GET_INTERP->Tretstack_ix)
+#define PL_retstack_max                (PERL_GET_INTERP->Tretstack_max)
+#define PL_rs                  (PERL_GET_INTERP->Trs)
+#define PL_savestack           (PERL_GET_INTERP->Tsavestack)
+#define PL_savestack_ix                (PERL_GET_INTERP->Tsavestack_ix)
+#define PL_savestack_max       (PERL_GET_INTERP->Tsavestack_max)
+#define PL_scopestack          (PERL_GET_INTERP->Tscopestack)
+#define PL_scopestack_ix       (PERL_GET_INTERP->Tscopestack_ix)
+#define PL_scopestack_max      (PERL_GET_INTERP->Tscopestack_max)
+#define PL_screamfirst         (PERL_GET_INTERP->Tscreamfirst)
+#define PL_screamnext          (PERL_GET_INTERP->Tscreamnext)
+#define PL_secondgv            (PERL_GET_INTERP->Tsecondgv)
+#define PL_seen_evals          (PERL_GET_INTERP->Tseen_evals)
+#define PL_seen_zerolen                (PERL_GET_INTERP->Tseen_zerolen)
+#define PL_sortcop             (PERL_GET_INTERP->Tsortcop)
+#define PL_sortcxix            (PERL_GET_INTERP->Tsortcxix)
+#define PL_sortstash           (PERL_GET_INTERP->Tsortstash)
+#define PL_stack_base          (PERL_GET_INTERP->Tstack_base)
+#define PL_stack_max           (PERL_GET_INTERP->Tstack_max)
+#define PL_stack_sp            (PERL_GET_INTERP->Tstack_sp)
+#define PL_start_env           (PERL_GET_INTERP->Tstart_env)
+#define PL_statbuf             (PERL_GET_INTERP->Tstatbuf)
+#define PL_statcache           (PERL_GET_INTERP->Tstatcache)
+#define PL_statgv              (PERL_GET_INTERP->Tstatgv)
+#define PL_statname            (PERL_GET_INTERP->Tstatname)
+#define PL_tainted             (PERL_GET_INTERP->Ttainted)
+#define PL_timesbuf            (PERL_GET_INTERP->Ttimesbuf)
+#define PL_tmps_floor          (PERL_GET_INTERP->Ttmps_floor)
+#define PL_tmps_ix             (PERL_GET_INTERP->Ttmps_ix)
+#define PL_tmps_max            (PERL_GET_INTERP->Ttmps_max)
+#define PL_tmps_stack          (PERL_GET_INTERP->Ttmps_stack)
+#define PL_top_env             (PERL_GET_INTERP->Ttop_env)
+#define PL_toptarget           (PERL_GET_INTERP->Ttoptarget)
+#define PL_watchaddr           (PERL_GET_INTERP->Twatchaddr)
+#define PL_watchok             (PERL_GET_INTERP->Twatchok)
 
 #endif /* !PERL_IMPLICIT_CONTEXT */
 #endif /* !USE_THREADS */
 
 /* These are always per-interpreter if there is more than one */
 
-#define PL_Argv                        (PL_curinterp->IArgv)
-#define PL_Cmd                 (PL_curinterp->ICmd)
-#define PL_DBcv                        (PL_curinterp->IDBcv)
-#define PL_DBgv                        (PL_curinterp->IDBgv)
-#define PL_DBline              (PL_curinterp->IDBline)
-#define PL_DBsignal            (PL_curinterp->IDBsignal)
-#define PL_DBsingle            (PL_curinterp->IDBsingle)
-#define PL_DBsub               (PL_curinterp->IDBsub)
-#define PL_DBtrace             (PL_curinterp->IDBtrace)
-#define PL_Dir                 (PL_curinterp->IDir)
-#define PL_Env                 (PL_curinterp->IEnv)
-#define PL_LIO                 (PL_curinterp->ILIO)
-#define PL_Mem                 (PL_curinterp->IMem)
-#define PL_Proc                        (PL_curinterp->IProc)
-#define PL_Sock                        (PL_curinterp->ISock)
-#define PL_StdIO               (PL_curinterp->IStdIO)
-#define PL_amagic_generation   (PL_curinterp->Iamagic_generation)
-#define PL_ampergv             (PL_curinterp->Iampergv)
-#define PL_an                  (PL_curinterp->Ian)
-#define PL_archpat_auto                (PL_curinterp->Iarchpat_auto)
-#define PL_argvgv              (PL_curinterp->Iargvgv)
-#define PL_argvoutgv           (PL_curinterp->Iargvoutgv)
-#define PL_basetime            (PL_curinterp->Ibasetime)
-#define PL_beginav             (PL_curinterp->Ibeginav)
-#define PL_bitcount            (PL_curinterp->Ibitcount)
-#define PL_bufend              (PL_curinterp->Ibufend)
-#define PL_bufptr              (PL_curinterp->Ibufptr)
-#define PL_cddir               (PL_curinterp->Icddir)
-#define PL_collation_ix                (PL_curinterp->Icollation_ix)
-#define PL_collation_name      (PL_curinterp->Icollation_name)
-#define PL_collation_standard  (PL_curinterp->Icollation_standard)
-#define PL_collxfrm_base       (PL_curinterp->Icollxfrm_base)
-#define PL_collxfrm_mult       (PL_curinterp->Icollxfrm_mult)
-#define PL_compcv              (PL_curinterp->Icompcv)
-#define PL_compiling           (PL_curinterp->Icompiling)
-#define PL_comppad             (PL_curinterp->Icomppad)
-#define PL_comppad_name                (PL_curinterp->Icomppad_name)
-#define PL_comppad_name_fill   (PL_curinterp->Icomppad_name_fill)
-#define PL_comppad_name_floor  (PL_curinterp->Icomppad_name_floor)
-#define PL_cop_seqmax          (PL_curinterp->Icop_seqmax)
-#define PL_copline             (PL_curinterp->Icopline)
-#define PL_cred_mutex          (PL_curinterp->Icred_mutex)
-#define PL_cryptseen           (PL_curinterp->Icryptseen)
-#define PL_cshlen              (PL_curinterp->Icshlen)
-#define PL_cshname             (PL_curinterp->Icshname)
-#define PL_curcopdb            (PL_curinterp->Icurcopdb)
-#define PL_curstname           (PL_curinterp->Icurstname)
-#define PL_curthr              (PL_curinterp->Icurthr)
-#define PL_dbargs              (PL_curinterp->Idbargs)
-#define PL_debdelim            (PL_curinterp->Idebdelim)
-#define PL_debname             (PL_curinterp->Idebname)
-#define PL_debstash            (PL_curinterp->Idebstash)
-#define PL_debug               (PL_curinterp->Idebug)
-#define PL_defgv               (PL_curinterp->Idefgv)
-#define PL_diehook             (PL_curinterp->Idiehook)
-#define PL_dlevel              (PL_curinterp->Idlevel)
-#define PL_dlmax               (PL_curinterp->Idlmax)
-#define PL_doextract           (PL_curinterp->Idoextract)
-#define PL_doswitches          (PL_curinterp->Idoswitches)
-#define PL_dowarn              (PL_curinterp->Idowarn)
-#define PL_e_script            (PL_curinterp->Ie_script)
-#define PL_efloatbuf           (PL_curinterp->Iefloatbuf)
-#define PL_efloatsize          (PL_curinterp->Iefloatsize)
-#define PL_egid                        (PL_curinterp->Iegid)
-#define PL_endav               (PL_curinterp->Iendav)
-#define PL_envgv               (PL_curinterp->Ienvgv)
-#define PL_errgv               (PL_curinterp->Ierrgv)
-#define PL_error_count         (PL_curinterp->Ierror_count)
-#define PL_euid                        (PL_curinterp->Ieuid)
-#define PL_eval_cond           (PL_curinterp->Ieval_cond)
-#define PL_eval_mutex          (PL_curinterp->Ieval_mutex)
-#define PL_eval_owner          (PL_curinterp->Ieval_owner)
-#define PL_eval_root           (PL_curinterp->Ieval_root)
-#define PL_eval_start          (PL_curinterp->Ieval_start)
-#define PL_evalseq             (PL_curinterp->Ievalseq)
-#define PL_exitlist            (PL_curinterp->Iexitlist)
-#define PL_exitlistlen         (PL_curinterp->Iexitlistlen)
-#define PL_expect              (PL_curinterp->Iexpect)
-#define PL_fdpid               (PL_curinterp->Ifdpid)
-#define PL_filemode            (PL_curinterp->Ifilemode)
-#define PL_filter_debug                (PL_curinterp->Ifilter_debug)
-#define PL_forkprocess         (PL_curinterp->Iforkprocess)
-#define PL_formfeed            (PL_curinterp->Iformfeed)
-#define PL_generation          (PL_curinterp->Igeneration)
-#define PL_gensym              (PL_curinterp->Igensym)
-#define PL_gid                 (PL_curinterp->Igid)
-#define PL_glob_index          (PL_curinterp->Iglob_index)
-#define PL_globalstash         (PL_curinterp->Iglobalstash)
-#define PL_he_root             (PL_curinterp->Ihe_root)
-#define PL_hintgv              (PL_curinterp->Ihintgv)
-#define PL_hints               (PL_curinterp->Ihints)
-#define PL_in_clean_all                (PL_curinterp->Iin_clean_all)
-#define PL_in_clean_objs       (PL_curinterp->Iin_clean_objs)
-#define PL_in_my               (PL_curinterp->Iin_my)
-#define PL_in_my_stash         (PL_curinterp->Iin_my_stash)
-#define PL_incgv               (PL_curinterp->Iincgv)
-#define PL_initav              (PL_curinterp->Iinitav)
-#define PL_inplace             (PL_curinterp->Iinplace)
-#define PL_last_lop            (PL_curinterp->Ilast_lop)
-#define PL_last_lop_op         (PL_curinterp->Ilast_lop_op)
-#define PL_last_swash_hv       (PL_curinterp->Ilast_swash_hv)
-#define PL_last_swash_key      (PL_curinterp->Ilast_swash_key)
-#define PL_last_swash_klen     (PL_curinterp->Ilast_swash_klen)
-#define PL_last_swash_slen     (PL_curinterp->Ilast_swash_slen)
-#define PL_last_swash_tmps     (PL_curinterp->Ilast_swash_tmps)
-#define PL_last_uni            (PL_curinterp->Ilast_uni)
-#define PL_lastfd              (PL_curinterp->Ilastfd)
-#define PL_lastsize            (PL_curinterp->Ilastsize)
-#define PL_lastspbase          (PL_curinterp->Ilastspbase)
-#define PL_laststatval         (PL_curinterp->Ilaststatval)
-#define PL_laststype           (PL_curinterp->Ilaststype)
-#define PL_leftgv              (PL_curinterp->Ileftgv)
-#define PL_lex_brackets                (PL_curinterp->Ilex_brackets)
-#define PL_lex_brackstack      (PL_curinterp->Ilex_brackstack)
-#define PL_lex_casemods                (PL_curinterp->Ilex_casemods)
-#define PL_lex_casestack       (PL_curinterp->Ilex_casestack)
-#define PL_lex_defer           (PL_curinterp->Ilex_defer)
-#define PL_lex_dojoin          (PL_curinterp->Ilex_dojoin)
-#define PL_lex_expect          (PL_curinterp->Ilex_expect)
-#define PL_lex_fakebrack       (PL_curinterp->Ilex_fakebrack)
-#define PL_lex_formbrack       (PL_curinterp->Ilex_formbrack)
-#define PL_lex_inpat           (PL_curinterp->Ilex_inpat)
-#define PL_lex_inwhat          (PL_curinterp->Ilex_inwhat)
-#define PL_lex_op              (PL_curinterp->Ilex_op)
-#define PL_lex_repl            (PL_curinterp->Ilex_repl)
-#define PL_lex_starts          (PL_curinterp->Ilex_starts)
-#define PL_lex_state           (PL_curinterp->Ilex_state)
-#define PL_lex_stuff           (PL_curinterp->Ilex_stuff)
-#define PL_lineary             (PL_curinterp->Ilineary)
-#define PL_linestart           (PL_curinterp->Ilinestart)
-#define PL_linestr             (PL_curinterp->Ilinestr)
-#define PL_localpatches                (PL_curinterp->Ilocalpatches)
-#define PL_main_cv             (PL_curinterp->Imain_cv)
-#define PL_main_root           (PL_curinterp->Imain_root)
-#define PL_main_start          (PL_curinterp->Imain_start)
-#define PL_malloc_mutex                (PL_curinterp->Imalloc_mutex)
-#define PL_max_intro_pending   (PL_curinterp->Imax_intro_pending)
-#define PL_maxo                        (PL_curinterp->Imaxo)
-#define PL_maxsysfd            (PL_curinterp->Imaxsysfd)
-#define PL_mess_sv             (PL_curinterp->Imess_sv)
-#define PL_min_intro_pending   (PL_curinterp->Imin_intro_pending)
-#define PL_minus_F             (PL_curinterp->Iminus_F)
-#define PL_minus_a             (PL_curinterp->Iminus_a)
-#define PL_minus_c             (PL_curinterp->Iminus_c)
-#define PL_minus_l             (PL_curinterp->Iminus_l)
-#define PL_minus_n             (PL_curinterp->Iminus_n)
-#define PL_minus_p             (PL_curinterp->Iminus_p)
-#define PL_modglobal           (PL_curinterp->Imodglobal)
-#define PL_multi_close         (PL_curinterp->Imulti_close)
-#define PL_multi_end           (PL_curinterp->Imulti_end)
-#define PL_multi_open          (PL_curinterp->Imulti_open)
-#define PL_multi_start         (PL_curinterp->Imulti_start)
-#define PL_multiline           (PL_curinterp->Imultiline)
-#define PL_mystrk              (PL_curinterp->Imystrk)
-#define PL_nexttoke            (PL_curinterp->Inexttoke)
-#define PL_nexttype            (PL_curinterp->Inexttype)
-#define PL_nextval             (PL_curinterp->Inextval)
-#define PL_nice_chunk          (PL_curinterp->Inice_chunk)
-#define PL_nice_chunk_size     (PL_curinterp->Inice_chunk_size)
-#define PL_nomemok             (PL_curinterp->Inomemok)
-#define PL_nthreads            (PL_curinterp->Inthreads)
-#define PL_nthreads_cond       (PL_curinterp->Inthreads_cond)
-#define PL_numeric_local       (PL_curinterp->Inumeric_local)
-#define PL_numeric_name                (PL_curinterp->Inumeric_name)
-#define PL_numeric_radix       (PL_curinterp->Inumeric_radix)
-#define PL_numeric_standard    (PL_curinterp->Inumeric_standard)
-#define PL_ofmt                        (PL_curinterp->Iofmt)
-#define PL_oldbufptr           (PL_curinterp->Ioldbufptr)
-#define PL_oldlastpm           (PL_curinterp->Ioldlastpm)
-#define PL_oldname             (PL_curinterp->Ioldname)
-#define PL_oldoldbufptr                (PL_curinterp->Ioldoldbufptr)
-#define PL_op_mask             (PL_curinterp->Iop_mask)
-#define PL_op_seqmax           (PL_curinterp->Iop_seqmax)
-#define PL_origalen            (PL_curinterp->Iorigalen)
-#define PL_origargc            (PL_curinterp->Iorigargc)
-#define PL_origargv            (PL_curinterp->Iorigargv)
-#define PL_origenviron         (PL_curinterp->Iorigenviron)
-#define PL_origfilename                (PL_curinterp->Iorigfilename)
-#define PL_ors                 (PL_curinterp->Iors)
-#define PL_orslen              (PL_curinterp->Iorslen)
-#define PL_osname              (PL_curinterp->Iosname)
-#define PL_pad_reset_pending   (PL_curinterp->Ipad_reset_pending)
-#define PL_padix               (PL_curinterp->Ipadix)
-#define PL_padix_floor         (PL_curinterp->Ipadix_floor)
-#define PL_parsehook           (PL_curinterp->Iparsehook)
-#define PL_patchlevel          (PL_curinterp->Ipatchlevel)
-#define PL_pending_ident       (PL_curinterp->Ipending_ident)
-#define PL_perl_destruct_level (PL_curinterp->Iperl_destruct_level)
-#define PL_perldb              (PL_curinterp->Iperldb)
-#define PL_pidstatus           (PL_curinterp->Ipidstatus)
-#define PL_preambleav          (PL_curinterp->Ipreambleav)
-#define PL_preambled           (PL_curinterp->Ipreambled)
-#define PL_preprocess          (PL_curinterp->Ipreprocess)
-#define PL_profiledata         (PL_curinterp->Iprofiledata)
-#define PL_replgv              (PL_curinterp->Ireplgv)
-#define PL_rightgv             (PL_curinterp->Irightgv)
-#define PL_rsfp                        (PL_curinterp->Irsfp)
-#define PL_rsfp_filters                (PL_curinterp->Irsfp_filters)
-#define PL_runops              (PL_curinterp->Irunops)
-#define PL_sawampersand                (PL_curinterp->Isawampersand)
-#define PL_sawstudy            (PL_curinterp->Isawstudy)
-#define PL_sawvec              (PL_curinterp->Isawvec)
-#define PL_sh_path             (PL_curinterp->Ish_path)
-#define PL_siggv               (PL_curinterp->Isiggv)
-#define PL_sighandlerp         (PL_curinterp->Isighandlerp)
-#define PL_splitstr            (PL_curinterp->Isplitstr)
-#define PL_srand_called                (PL_curinterp->Isrand_called)
-#define PL_statusvalue         (PL_curinterp->Istatusvalue)
-#define PL_statusvalue_vms     (PL_curinterp->Istatusvalue_vms)
-#define PL_stdingv             (PL_curinterp->Istdingv)
-#define PL_strchop             (PL_curinterp->Istrchop)
-#define PL_strtab              (PL_curinterp->Istrtab)
-#define PL_strtab_mutex                (PL_curinterp->Istrtab_mutex)
-#define PL_sub_generation      (PL_curinterp->Isub_generation)
-#define PL_sublex_info         (PL_curinterp->Isublex_info)
-#define PL_subline             (PL_curinterp->Isubline)
-#define PL_subname             (PL_curinterp->Isubname)
-#define PL_sv_arenaroot                (PL_curinterp->Isv_arenaroot)
-#define PL_sv_count            (PL_curinterp->Isv_count)
-#define PL_sv_mutex            (PL_curinterp->Isv_mutex)
-#define PL_sv_no               (PL_curinterp->Isv_no)
-#define PL_sv_objcount         (PL_curinterp->Isv_objcount)
-#define PL_sv_root             (PL_curinterp->Isv_root)
-#define PL_sv_undef            (PL_curinterp->Isv_undef)
-#define PL_sv_yes              (PL_curinterp->Isv_yes)
-#define PL_svref_mutex         (PL_curinterp->Isvref_mutex)
-#define PL_sys_intern          (PL_curinterp->Isys_intern)
-#define PL_tainting            (PL_curinterp->Itainting)
-#define PL_thisexpr            (PL_curinterp->Ithisexpr)
-#define PL_thr_key             (PL_curinterp->Ithr_key)
-#define PL_threadnum           (PL_curinterp->Ithreadnum)
-#define PL_threads_mutex       (PL_curinterp->Ithreads_mutex)
-#define PL_threadsv_names      (PL_curinterp->Ithreadsv_names)
-#define PL_thrsv               (PL_curinterp->Ithrsv)
-#define PL_tokenbuf            (PL_curinterp->Itokenbuf)
-#define PL_uid                 (PL_curinterp->Iuid)
-#define PL_unsafe              (PL_curinterp->Iunsafe)
-#define PL_utf8_alnum          (PL_curinterp->Iutf8_alnum)
-#define PL_utf8_alnumc         (PL_curinterp->Iutf8_alnumc)
-#define PL_utf8_alpha          (PL_curinterp->Iutf8_alpha)
-#define PL_utf8_ascii          (PL_curinterp->Iutf8_ascii)
-#define PL_utf8_cntrl          (PL_curinterp->Iutf8_cntrl)
-#define PL_utf8_digit          (PL_curinterp->Iutf8_digit)
-#define PL_utf8_graph          (PL_curinterp->Iutf8_graph)
-#define PL_utf8_lower          (PL_curinterp->Iutf8_lower)
-#define PL_utf8_mark           (PL_curinterp->Iutf8_mark)
-#define PL_utf8_print          (PL_curinterp->Iutf8_print)
-#define PL_utf8_punct          (PL_curinterp->Iutf8_punct)
-#define PL_utf8_space          (PL_curinterp->Iutf8_space)
-#define PL_utf8_tolower                (PL_curinterp->Iutf8_tolower)
-#define PL_utf8_totitle                (PL_curinterp->Iutf8_totitle)
-#define PL_utf8_toupper                (PL_curinterp->Iutf8_toupper)
-#define PL_utf8_upper          (PL_curinterp->Iutf8_upper)
-#define PL_utf8_xdigit         (PL_curinterp->Iutf8_xdigit)
-#define PL_uudmap              (PL_curinterp->Iuudmap)
-#define PL_warnhook            (PL_curinterp->Iwarnhook)
-#define PL_xiv_arenaroot       (PL_curinterp->Ixiv_arenaroot)
-#define PL_xiv_root            (PL_curinterp->Ixiv_root)
-#define PL_xnv_root            (PL_curinterp->Ixnv_root)
-#define PL_xpv_root            (PL_curinterp->Ixpv_root)
-#define PL_xrv_root            (PL_curinterp->Ixrv_root)
-#define PL_yychar              (PL_curinterp->Iyychar)
-#define PL_yydebug             (PL_curinterp->Iyydebug)
-#define PL_yyerrflag           (PL_curinterp->Iyyerrflag)
-#define PL_yylval              (PL_curinterp->Iyylval)
-#define PL_yynerrs             (PL_curinterp->Iyynerrs)
-#define PL_yyval               (PL_curinterp->Iyyval)
+#define PL_Argv                        (PERL_GET_INTERP->IArgv)
+#define PL_Cmd                 (PERL_GET_INTERP->ICmd)
+#define PL_DBcv                        (PERL_GET_INTERP->IDBcv)
+#define PL_DBgv                        (PERL_GET_INTERP->IDBgv)
+#define PL_DBline              (PERL_GET_INTERP->IDBline)
+#define PL_DBsignal            (PERL_GET_INTERP->IDBsignal)
+#define PL_DBsingle            (PERL_GET_INTERP->IDBsingle)
+#define PL_DBsub               (PERL_GET_INTERP->IDBsub)
+#define PL_DBtrace             (PERL_GET_INTERP->IDBtrace)
+#define PL_Dir                 (PERL_GET_INTERP->IDir)
+#define PL_Env                 (PERL_GET_INTERP->IEnv)
+#define PL_LIO                 (PERL_GET_INTERP->ILIO)
+#define PL_Mem                 (PERL_GET_INTERP->IMem)
+#define PL_Proc                        (PERL_GET_INTERP->IProc)
+#define PL_Sock                        (PERL_GET_INTERP->ISock)
+#define PL_StdIO               (PERL_GET_INTERP->IStdIO)
+#define PL_amagic_generation   (PERL_GET_INTERP->Iamagic_generation)
+#define PL_ampergv             (PERL_GET_INTERP->Iampergv)
+#define PL_an                  (PERL_GET_INTERP->Ian)
+#define PL_archpat_auto                (PERL_GET_INTERP->Iarchpat_auto)
+#define PL_argvgv              (PERL_GET_INTERP->Iargvgv)
+#define PL_argvoutgv           (PERL_GET_INTERP->Iargvoutgv)
+#define PL_basetime            (PERL_GET_INTERP->Ibasetime)
+#define PL_beginav             (PERL_GET_INTERP->Ibeginav)
+#define PL_bitcount            (PERL_GET_INTERP->Ibitcount)
+#define PL_bufend              (PERL_GET_INTERP->Ibufend)
+#define PL_bufptr              (PERL_GET_INTERP->Ibufptr)
+#define PL_cddir               (PERL_GET_INTERP->Icddir)
+#define PL_collation_ix                (PERL_GET_INTERP->Icollation_ix)
+#define PL_collation_name      (PERL_GET_INTERP->Icollation_name)
+#define PL_collation_standard  (PERL_GET_INTERP->Icollation_standard)
+#define PL_collxfrm_base       (PERL_GET_INTERP->Icollxfrm_base)
+#define PL_collxfrm_mult       (PERL_GET_INTERP->Icollxfrm_mult)
+#define PL_compcv              (PERL_GET_INTERP->Icompcv)
+#define PL_compiling           (PERL_GET_INTERP->Icompiling)
+#define PL_comppad             (PERL_GET_INTERP->Icomppad)
+#define PL_comppad_name                (PERL_GET_INTERP->Icomppad_name)
+#define PL_comppad_name_fill   (PERL_GET_INTERP->Icomppad_name_fill)
+#define PL_comppad_name_floor  (PERL_GET_INTERP->Icomppad_name_floor)
+#define PL_cop_seqmax          (PERL_GET_INTERP->Icop_seqmax)
+#define PL_copline             (PERL_GET_INTERP->Icopline)
+#define PL_cred_mutex          (PERL_GET_INTERP->Icred_mutex)
+#define PL_cryptseen           (PERL_GET_INTERP->Icryptseen)
+#define PL_cshlen              (PERL_GET_INTERP->Icshlen)
+#define PL_cshname             (PERL_GET_INTERP->Icshname)
+#define PL_curcopdb            (PERL_GET_INTERP->Icurcopdb)
+#define PL_curstname           (PERL_GET_INTERP->Icurstname)
+#define PL_curthr              (PERL_GET_INTERP->Icurthr)
+#define PL_dbargs              (PERL_GET_INTERP->Idbargs)
+#define PL_debdelim            (PERL_GET_INTERP->Idebdelim)
+#define PL_debname             (PERL_GET_INTERP->Idebname)
+#define PL_debstash            (PERL_GET_INTERP->Idebstash)
+#define PL_debug               (PERL_GET_INTERP->Idebug)
+#define PL_defgv               (PERL_GET_INTERP->Idefgv)
+#define PL_diehook             (PERL_GET_INTERP->Idiehook)
+#define PL_dlevel              (PERL_GET_INTERP->Idlevel)
+#define PL_dlmax               (PERL_GET_INTERP->Idlmax)
+#define PL_doextract           (PERL_GET_INTERP->Idoextract)
+#define PL_doswitches          (PERL_GET_INTERP->Idoswitches)
+#define PL_dowarn              (PERL_GET_INTERP->Idowarn)
+#define PL_e_script            (PERL_GET_INTERP->Ie_script)
+#define PL_efloatbuf           (PERL_GET_INTERP->Iefloatbuf)
+#define PL_efloatsize          (PERL_GET_INTERP->Iefloatsize)
+#define PL_egid                        (PERL_GET_INTERP->Iegid)
+#define PL_endav               (PERL_GET_INTERP->Iendav)
+#define PL_envgv               (PERL_GET_INTERP->Ienvgv)
+#define PL_errgv               (PERL_GET_INTERP->Ierrgv)
+#define PL_error_count         (PERL_GET_INTERP->Ierror_count)
+#define PL_euid                        (PERL_GET_INTERP->Ieuid)
+#define PL_eval_cond           (PERL_GET_INTERP->Ieval_cond)
+#define PL_eval_mutex          (PERL_GET_INTERP->Ieval_mutex)
+#define PL_eval_owner          (PERL_GET_INTERP->Ieval_owner)
+#define PL_eval_root           (PERL_GET_INTERP->Ieval_root)
+#define PL_eval_start          (PERL_GET_INTERP->Ieval_start)
+#define PL_evalseq             (PERL_GET_INTERP->Ievalseq)
+#define PL_exitlist            (PERL_GET_INTERP->Iexitlist)
+#define PL_exitlistlen         (PERL_GET_INTERP->Iexitlistlen)
+#define PL_expect              (PERL_GET_INTERP->Iexpect)
+#define PL_fdpid               (PERL_GET_INTERP->Ifdpid)
+#define PL_filemode            (PERL_GET_INTERP->Ifilemode)
+#define PL_filter_debug                (PERL_GET_INTERP->Ifilter_debug)
+#define PL_forkprocess         (PERL_GET_INTERP->Iforkprocess)
+#define PL_formfeed            (PERL_GET_INTERP->Iformfeed)
+#define PL_generation          (PERL_GET_INTERP->Igeneration)
+#define PL_gensym              (PERL_GET_INTERP->Igensym)
+#define PL_gid                 (PERL_GET_INTERP->Igid)
+#define PL_glob_index          (PERL_GET_INTERP->Iglob_index)
+#define PL_globalstash         (PERL_GET_INTERP->Iglobalstash)
+#define PL_he_root             (PERL_GET_INTERP->Ihe_root)
+#define PL_hintgv              (PERL_GET_INTERP->Ihintgv)
+#define PL_hints               (PERL_GET_INTERP->Ihints)
+#define PL_in_clean_all                (PERL_GET_INTERP->Iin_clean_all)
+#define PL_in_clean_objs       (PERL_GET_INTERP->Iin_clean_objs)
+#define PL_in_my               (PERL_GET_INTERP->Iin_my)
+#define PL_in_my_stash         (PERL_GET_INTERP->Iin_my_stash)
+#define PL_incgv               (PERL_GET_INTERP->Iincgv)
+#define PL_initav              (PERL_GET_INTERP->Iinitav)
+#define PL_inplace             (PERL_GET_INTERP->Iinplace)
+#define PL_last_lop            (PERL_GET_INTERP->Ilast_lop)
+#define PL_last_lop_op         (PERL_GET_INTERP->Ilast_lop_op)
+#define PL_last_swash_hv       (PERL_GET_INTERP->Ilast_swash_hv)
+#define PL_last_swash_key      (PERL_GET_INTERP->Ilast_swash_key)
+#define PL_last_swash_klen     (PERL_GET_INTERP->Ilast_swash_klen)
+#define PL_last_swash_slen     (PERL_GET_INTERP->Ilast_swash_slen)
+#define PL_last_swash_tmps     (PERL_GET_INTERP->Ilast_swash_tmps)
+#define PL_last_uni            (PERL_GET_INTERP->Ilast_uni)
+#define PL_lastfd              (PERL_GET_INTERP->Ilastfd)
+#define PL_lastsize            (PERL_GET_INTERP->Ilastsize)
+#define PL_lastspbase          (PERL_GET_INTERP->Ilastspbase)
+#define PL_laststatval         (PERL_GET_INTERP->Ilaststatval)
+#define PL_laststype           (PERL_GET_INTERP->Ilaststype)
+#define PL_leftgv              (PERL_GET_INTERP->Ileftgv)
+#define PL_lex_brackets                (PERL_GET_INTERP->Ilex_brackets)
+#define PL_lex_brackstack      (PERL_GET_INTERP->Ilex_brackstack)
+#define PL_lex_casemods                (PERL_GET_INTERP->Ilex_casemods)
+#define PL_lex_casestack       (PERL_GET_INTERP->Ilex_casestack)
+#define PL_lex_defer           (PERL_GET_INTERP->Ilex_defer)
+#define PL_lex_dojoin          (PERL_GET_INTERP->Ilex_dojoin)
+#define PL_lex_expect          (PERL_GET_INTERP->Ilex_expect)
+#define PL_lex_fakebrack       (PERL_GET_INTERP->Ilex_fakebrack)
+#define PL_lex_formbrack       (PERL_GET_INTERP->Ilex_formbrack)
+#define PL_lex_inpat           (PERL_GET_INTERP->Ilex_inpat)
+#define PL_lex_inwhat          (PERL_GET_INTERP->Ilex_inwhat)
+#define PL_lex_op              (PERL_GET_INTERP->Ilex_op)
+#define PL_lex_repl            (PERL_GET_INTERP->Ilex_repl)
+#define PL_lex_starts          (PERL_GET_INTERP->Ilex_starts)
+#define PL_lex_state           (PERL_GET_INTERP->Ilex_state)
+#define PL_lex_stuff           (PERL_GET_INTERP->Ilex_stuff)
+#define PL_lineary             (PERL_GET_INTERP->Ilineary)
+#define PL_linestart           (PERL_GET_INTERP->Ilinestart)
+#define PL_linestr             (PERL_GET_INTERP->Ilinestr)
+#define PL_localpatches                (PERL_GET_INTERP->Ilocalpatches)
+#define PL_main_cv             (PERL_GET_INTERP->Imain_cv)
+#define PL_main_root           (PERL_GET_INTERP->Imain_root)
+#define PL_main_start          (PERL_GET_INTERP->Imain_start)
+#define PL_malloc_mutex                (PERL_GET_INTERP->Imalloc_mutex)
+#define PL_max_intro_pending   (PERL_GET_INTERP->Imax_intro_pending)
+#define PL_maxo                        (PERL_GET_INTERP->Imaxo)
+#define PL_maxsysfd            (PERL_GET_INTERP->Imaxsysfd)
+#define PL_mess_sv             (PERL_GET_INTERP->Imess_sv)
+#define PL_min_intro_pending   (PERL_GET_INTERP->Imin_intro_pending)
+#define PL_minus_F             (PERL_GET_INTERP->Iminus_F)
+#define PL_minus_a             (PERL_GET_INTERP->Iminus_a)
+#define PL_minus_c             (PERL_GET_INTERP->Iminus_c)
+#define PL_minus_l             (PERL_GET_INTERP->Iminus_l)
+#define PL_minus_n             (PERL_GET_INTERP->Iminus_n)
+#define PL_minus_p             (PERL_GET_INTERP->Iminus_p)
+#define PL_modglobal           (PERL_GET_INTERP->Imodglobal)
+#define PL_multi_close         (PERL_GET_INTERP->Imulti_close)
+#define PL_multi_end           (PERL_GET_INTERP->Imulti_end)
+#define PL_multi_open          (PERL_GET_INTERP->Imulti_open)
+#define PL_multi_start         (PERL_GET_INTERP->Imulti_start)
+#define PL_multiline           (PERL_GET_INTERP->Imultiline)
+#define PL_mystrk              (PERL_GET_INTERP->Imystrk)
+#define PL_nexttoke            (PERL_GET_INTERP->Inexttoke)
+#define PL_nexttype            (PERL_GET_INTERP->Inexttype)
+#define PL_nextval             (PERL_GET_INTERP->Inextval)
+#define PL_nice_chunk          (PERL_GET_INTERP->Inice_chunk)
+#define PL_nice_chunk_size     (PERL_GET_INTERP->Inice_chunk_size)
+#define PL_nomemok             (PERL_GET_INTERP->Inomemok)
+#define PL_nthreads            (PERL_GET_INTERP->Inthreads)
+#define PL_nthreads_cond       (PERL_GET_INTERP->Inthreads_cond)
+#define PL_numeric_local       (PERL_GET_INTERP->Inumeric_local)
+#define PL_numeric_name                (PERL_GET_INTERP->Inumeric_name)
+#define PL_numeric_radix       (PERL_GET_INTERP->Inumeric_radix)
+#define PL_numeric_standard    (PERL_GET_INTERP->Inumeric_standard)
+#define PL_ofmt                        (PERL_GET_INTERP->Iofmt)
+#define PL_oldbufptr           (PERL_GET_INTERP->Ioldbufptr)
+#define PL_oldlastpm           (PERL_GET_INTERP->Ioldlastpm)
+#define PL_oldname             (PERL_GET_INTERP->Ioldname)
+#define PL_oldoldbufptr                (PERL_GET_INTERP->Ioldoldbufptr)
+#define PL_op_mask             (PERL_GET_INTERP->Iop_mask)
+#define PL_op_seqmax           (PERL_GET_INTERP->Iop_seqmax)
+#define PL_origalen            (PERL_GET_INTERP->Iorigalen)
+#define PL_origargc            (PERL_GET_INTERP->Iorigargc)
+#define PL_origargv            (PERL_GET_INTERP->Iorigargv)
+#define PL_origenviron         (PERL_GET_INTERP->Iorigenviron)
+#define PL_origfilename                (PERL_GET_INTERP->Iorigfilename)
+#define PL_ors                 (PERL_GET_INTERP->Iors)
+#define PL_orslen              (PERL_GET_INTERP->Iorslen)
+#define PL_osname              (PERL_GET_INTERP->Iosname)
+#define PL_pad_reset_pending   (PERL_GET_INTERP->Ipad_reset_pending)
+#define PL_padix               (PERL_GET_INTERP->Ipadix)
+#define PL_padix_floor         (PERL_GET_INTERP->Ipadix_floor)
+#define PL_parsehook           (PERL_GET_INTERP->Iparsehook)
+#define PL_patchlevel          (PERL_GET_INTERP->Ipatchlevel)
+#define PL_pending_ident       (PERL_GET_INTERP->Ipending_ident)
+#define PL_perl_destruct_level (PERL_GET_INTERP->Iperl_destruct_level)
+#define PL_perldb              (PERL_GET_INTERP->Iperldb)
+#define PL_pidstatus           (PERL_GET_INTERP->Ipidstatus)
+#define PL_preambleav          (PERL_GET_INTERP->Ipreambleav)
+#define PL_preambled           (PERL_GET_INTERP->Ipreambled)
+#define PL_preprocess          (PERL_GET_INTERP->Ipreprocess)
+#define PL_profiledata         (PERL_GET_INTERP->Iprofiledata)
+#define PL_replgv              (PERL_GET_INTERP->Ireplgv)
+#define PL_rightgv             (PERL_GET_INTERP->Irightgv)
+#define PL_rsfp                        (PERL_GET_INTERP->Irsfp)
+#define PL_rsfp_filters                (PERL_GET_INTERP->Irsfp_filters)
+#define PL_runops              (PERL_GET_INTERP->Irunops)
+#define PL_sawampersand                (PERL_GET_INTERP->Isawampersand)
+#define PL_sawstudy            (PERL_GET_INTERP->Isawstudy)
+#define PL_sawvec              (PERL_GET_INTERP->Isawvec)
+#define PL_sh_path             (PERL_GET_INTERP->Ish_path)
+#define PL_siggv               (PERL_GET_INTERP->Isiggv)
+#define PL_sighandlerp         (PERL_GET_INTERP->Isighandlerp)
+#define PL_splitstr            (PERL_GET_INTERP->Isplitstr)
+#define PL_srand_called                (PERL_GET_INTERP->Isrand_called)
+#define PL_statusvalue         (PERL_GET_INTERP->Istatusvalue)
+#define PL_statusvalue_vms     (PERL_GET_INTERP->Istatusvalue_vms)
+#define PL_stdingv             (PERL_GET_INTERP->Istdingv)
+#define PL_strchop             (PERL_GET_INTERP->Istrchop)
+#define PL_strtab              (PERL_GET_INTERP->Istrtab)
+#define PL_strtab_mutex                (PERL_GET_INTERP->Istrtab_mutex)
+#define PL_sub_generation      (PERL_GET_INTERP->Isub_generation)
+#define PL_sublex_info         (PERL_GET_INTERP->Isublex_info)
+#define PL_subline             (PERL_GET_INTERP->Isubline)
+#define PL_subname             (PERL_GET_INTERP->Isubname)
+#define PL_sv_arenaroot                (PERL_GET_INTERP->Isv_arenaroot)
+#define PL_sv_count            (PERL_GET_INTERP->Isv_count)
+#define PL_sv_mutex            (PERL_GET_INTERP->Isv_mutex)
+#define PL_sv_no               (PERL_GET_INTERP->Isv_no)
+#define PL_sv_objcount         (PERL_GET_INTERP->Isv_objcount)
+#define PL_sv_root             (PERL_GET_INTERP->Isv_root)
+#define PL_sv_undef            (PERL_GET_INTERP->Isv_undef)
+#define PL_sv_yes              (PERL_GET_INTERP->Isv_yes)
+#define PL_svref_mutex         (PERL_GET_INTERP->Isvref_mutex)
+#define PL_sys_intern          (PERL_GET_INTERP->Isys_intern)
+#define PL_tainting            (PERL_GET_INTERP->Itainting)
+#define PL_thisexpr            (PERL_GET_INTERP->Ithisexpr)
+#define PL_thr_key             (PERL_GET_INTERP->Ithr_key)
+#define PL_threadnum           (PERL_GET_INTERP->Ithreadnum)
+#define PL_threads_mutex       (PERL_GET_INTERP->Ithreads_mutex)
+#define PL_threadsv_names      (PERL_GET_INTERP->Ithreadsv_names)
+#define PL_thrsv               (PERL_GET_INTERP->Ithrsv)
+#define PL_tokenbuf            (PERL_GET_INTERP->Itokenbuf)
+#define PL_uid                 (PERL_GET_INTERP->Iuid)
+#define PL_unsafe              (PERL_GET_INTERP->Iunsafe)
+#define PL_utf8_alnum          (PERL_GET_INTERP->Iutf8_alnum)
+#define PL_utf8_alnumc         (PERL_GET_INTERP->Iutf8_alnumc)
+#define PL_utf8_alpha          (PERL_GET_INTERP->Iutf8_alpha)
+#define PL_utf8_ascii          (PERL_GET_INTERP->Iutf8_ascii)
+#define PL_utf8_cntrl          (PERL_GET_INTERP->Iutf8_cntrl)
+#define PL_utf8_digit          (PERL_GET_INTERP->Iutf8_digit)
+#define PL_utf8_graph          (PERL_GET_INTERP->Iutf8_graph)
+#define PL_utf8_lower          (PERL_GET_INTERP->Iutf8_lower)
+#define PL_utf8_mark           (PERL_GET_INTERP->Iutf8_mark)
+#define PL_utf8_print          (PERL_GET_INTERP->Iutf8_print)
+#define PL_utf8_punct          (PERL_GET_INTERP->Iutf8_punct)
+#define PL_utf8_space          (PERL_GET_INTERP->Iutf8_space)
+#define PL_utf8_tolower                (PERL_GET_INTERP->Iutf8_tolower)
+#define PL_utf8_totitle                (PERL_GET_INTERP->Iutf8_totitle)
+#define PL_utf8_toupper                (PERL_GET_INTERP->Iutf8_toupper)
+#define PL_utf8_upper          (PERL_GET_INTERP->Iutf8_upper)
+#define PL_utf8_xdigit         (PERL_GET_INTERP->Iutf8_xdigit)
+#define PL_uudmap              (PERL_GET_INTERP->Iuudmap)
+#define PL_warnhook            (PERL_GET_INTERP->Iwarnhook)
+#define PL_xiv_arenaroot       (PERL_GET_INTERP->Ixiv_arenaroot)
+#define PL_xiv_root            (PERL_GET_INTERP->Ixiv_root)
+#define PL_xnv_root            (PERL_GET_INTERP->Ixnv_root)
+#define PL_xpv_root            (PERL_GET_INTERP->Ixpv_root)
+#define PL_xrv_root            (PERL_GET_INTERP->Ixrv_root)
+#define PL_yychar              (PERL_GET_INTERP->Iyychar)
+#define PL_yydebug             (PERL_GET_INTERP->Iyydebug)
+#define PL_yyerrflag           (PERL_GET_INTERP->Iyyerrflag)
+#define PL_yylval              (PERL_GET_INTERP->Iyylval)
+#define PL_yynerrs             (PERL_GET_INTERP->Iyynerrs)
+#define PL_yyval               (PERL_GET_INTERP->Iyyval)
 
 #else  /* !MULTIPLICITY */
 
 #define PL_Treg_eval_set       PL_reg_eval_set
 #define PL_Treg_flags          PL_reg_flags
 #define PL_Treg_ganch          PL_reg_ganch
+#define PL_Treg_leftiter       PL_reg_leftiter
 #define PL_Treg_magic          PL_reg_magic
+#define PL_Treg_maxiter                PL_reg_maxiter
 #define PL_Treg_oldcurpm       PL_reg_oldcurpm
 #define PL_Treg_oldpos         PL_reg_oldpos
 #define PL_Treg_oldsaved       PL_reg_oldsaved
 #define PL_Treg_oldsavedlen    PL_reg_oldsavedlen
+#define PL_Treg_poscache       PL_reg_poscache
+#define PL_Treg_poscache_size  PL_reg_poscache_size
 #define PL_Treg_re             PL_reg_re
 #define PL_Treg_start_tmp      PL_reg_start_tmp
 #define PL_Treg_start_tmpl     PL_reg_start_tmpl
 #define PL_Treg_starttry       PL_reg_starttry
 #define PL_Treg_sv             PL_reg_sv
+#define PL_Treg_whilem_seen    PL_reg_whilem_seen
 #define PL_Tregbol             PL_regbol
 #define PL_Tregcc              PL_regcc
 #define PL_Tregcode            PL_regcode
 #define PL_reg_eval_set                (thr->Treg_eval_set)
 #define PL_reg_flags           (thr->Treg_flags)
 #define PL_reg_ganch           (thr->Treg_ganch)
+#define PL_reg_leftiter                (thr->Treg_leftiter)
 #define PL_reg_magic           (thr->Treg_magic)
+#define PL_reg_maxiter         (thr->Treg_maxiter)
 #define PL_reg_oldcurpm                (thr->Treg_oldcurpm)
 #define PL_reg_oldpos          (thr->Treg_oldpos)
 #define PL_reg_oldsaved                (thr->Treg_oldsaved)
 #define PL_reg_oldsavedlen     (thr->Treg_oldsavedlen)
+#define PL_reg_poscache                (thr->Treg_poscache)
+#define PL_reg_poscache_size   (thr->Treg_poscache_size)
 #define PL_reg_re              (thr->Treg_re)
 #define PL_reg_start_tmp       (thr->Treg_start_tmp)
 #define PL_reg_start_tmpl      (thr->Treg_start_tmpl)
 #define PL_reg_starttry                (thr->Treg_starttry)
 #define PL_reg_sv              (thr->Treg_sv)
+#define PL_reg_whilem_seen     (thr->Treg_whilem_seen)
 #define PL_regbol              (thr->Tregbol)
 #define PL_regcc               (thr->Tregcc)
 #define PL_regcode             (thr->Tregcode)