-/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
- perlvars.h and thrdvar.h. Any changes made here will be lost!
-*/
+/* -*- buffer-read-only: t -*-
+ *
+ * embedvar.h
+ *
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by embed.pl from data in embed.fnc, embed.pl,
+ * pp.sym, intrpvar.h, perlvars.h and thrdvar.h.
+ * Any changes made here will be lost!
+ *
+ * Edit those files and run 'make regen_headers' to effect changes.
+ */
/* (Doing namespace management portably in C is really gross.) */
-/* Put interpreter-specific symbols into a struct? */
-
-#ifdef MULTIPLICITY
-
-#ifndef USE_THREADS
-/* If we do not have threads then per-thread vars are per-interpreter */
-
-#ifdef PERL_IMPLICIT_CONTEXT
-
-/* everything has an implicit context pointer */
-
-#define PL_Sv (my_perl->TSv)
-#define PL_Xpv (my_perl->TXpv)
-#define PL_av_fetch_sv (my_perl->Tav_fetch_sv)
-#define PL_bodytarget (my_perl->Tbodytarget)
-#define PL_bostr (my_perl->Tbostr)
-#define PL_chopset (my_perl->Tchopset)
-#define PL_colors (my_perl->Tcolors)
-#define PL_colorset (my_perl->Tcolorset)
-#define PL_curcop (my_perl->Tcurcop)
-#define PL_curpad (my_perl->Tcurpad)
-#define PL_curpm (my_perl->Tcurpm)
-#define PL_curstack (my_perl->Tcurstack)
-#define PL_curstackinfo (my_perl->Tcurstackinfo)
-#define PL_curstash (my_perl->Tcurstash)
-#define PL_defoutgv (my_perl->Tdefoutgv)
-#define PL_defstash (my_perl->Tdefstash)
-#define PL_delaymagic (my_perl->Tdelaymagic)
-#define PL_dirty (my_perl->Tdirty)
-#define PL_dumpindent (my_perl->Tdumpindent)
-#define PL_extralen (my_perl->Textralen)
-#define PL_firstgv (my_perl->Tfirstgv)
-#define PL_formtarget (my_perl->Tformtarget)
-#define PL_hv_fetch_ent_mh (my_perl->Thv_fetch_ent_mh)
-#define PL_hv_fetch_sv (my_perl->Thv_fetch_sv)
-#define PL_in_eval (my_perl->Tin_eval)
-#define PL_last_in_gv (my_perl->Tlast_in_gv)
-#define PL_lastgotoprobe (my_perl->Tlastgotoprobe)
-#define PL_lastscream (my_perl->Tlastscream)
-#define PL_localizing (my_perl->Tlocalizing)
-#define PL_mainstack (my_perl->Tmainstack)
-#define PL_markstack (my_perl->Tmarkstack)
-#define PL_markstack_max (my_perl->Tmarkstack_max)
-#define PL_markstack_ptr (my_perl->Tmarkstack_ptr)
-#define PL_maxscream (my_perl->Tmaxscream)
-#define PL_modcount (my_perl->Tmodcount)
-#define PL_na (my_perl->Tna)
-#define PL_nrs (my_perl->Tnrs)
-#define PL_ofs (my_perl->Tofs)
-#define PL_ofslen (my_perl->Tofslen)
-#define PL_op (my_perl->Top)
-#define PL_opsave (my_perl->Topsave)
-#define PL_protect (my_perl->Tprotect)
-#define PL_reg_call_cc (my_perl->Treg_call_cc)
-#define PL_reg_curpm (my_perl->Treg_curpm)
-#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_magic (my_perl->Treg_magic)
-#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_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_regbol (my_perl->Tregbol)
-#define PL_regcc (my_perl->Tregcc)
-#define PL_regcode (my_perl->Tregcode)
-#define PL_regcomp_parse (my_perl->Tregcomp_parse)
-#define PL_regcomp_rx (my_perl->Tregcomp_rx)
-#define PL_regcompp (my_perl->Tregcompp)
-#define PL_regdata (my_perl->Tregdata)
-#define PL_regdummy (my_perl->Tregdummy)
-#define PL_regendp (my_perl->Tregendp)
-#define PL_regeol (my_perl->Tregeol)
-#define PL_regexecp (my_perl->Tregexecp)
-#define PL_regflags (my_perl->Tregflags)
-#define PL_regfree (my_perl->Tregfree)
-#define PL_regindent (my_perl->Tregindent)
-#define PL_reginput (my_perl->Treginput)
-#define PL_regint_start (my_perl->Tregint_start)
-#define PL_regint_string (my_perl->Tregint_string)
-#define PL_reginterp_cnt (my_perl->Treginterp_cnt)
-#define PL_reglastparen (my_perl->Treglastparen)
-#define PL_regnarrate (my_perl->Tregnarrate)
-#define PL_regnaughty (my_perl->Tregnaughty)
-#define PL_regnpar (my_perl->Tregnpar)
-#define PL_regprecomp (my_perl->Tregprecomp)
-#define PL_regprev (my_perl->Tregprev)
-#define PL_regprogram (my_perl->Tregprogram)
-#define PL_regsawback (my_perl->Tregsawback)
-#define PL_regseen (my_perl->Tregseen)
-#define PL_regsize (my_perl->Tregsize)
-#define PL_regstartp (my_perl->Tregstartp)
-#define PL_regtill (my_perl->Tregtill)
-#define PL_regxend (my_perl->Tregxend)
-#define PL_restartop (my_perl->Trestartop)
-#define PL_retstack (my_perl->Tretstack)
-#define PL_retstack_ix (my_perl->Tretstack_ix)
-#define PL_retstack_max (my_perl->Tretstack_max)
-#define PL_rs (my_perl->Trs)
-#define PL_savestack (my_perl->Tsavestack)
-#define PL_savestack_ix (my_perl->Tsavestack_ix)
-#define PL_savestack_max (my_perl->Tsavestack_max)
-#define PL_scopestack (my_perl->Tscopestack)
-#define PL_scopestack_ix (my_perl->Tscopestack_ix)
-#define PL_scopestack_max (my_perl->Tscopestack_max)
-#define PL_screamfirst (my_perl->Tscreamfirst)
-#define PL_screamnext (my_perl->Tscreamnext)
-#define PL_secondgv (my_perl->Tsecondgv)
-#define PL_seen_evals (my_perl->Tseen_evals)
-#define PL_seen_zerolen (my_perl->Tseen_zerolen)
-#define PL_sortcop (my_perl->Tsortcop)
-#define PL_sortcxix (my_perl->Tsortcxix)
-#define PL_sortstash (my_perl->Tsortstash)
-#define PL_stack_base (my_perl->Tstack_base)
-#define PL_stack_max (my_perl->Tstack_max)
-#define PL_stack_sp (my_perl->Tstack_sp)
-#define PL_start_env (my_perl->Tstart_env)
-#define PL_statbuf (my_perl->Tstatbuf)
-#define PL_statcache (my_perl->Tstatcache)
-#define PL_statgv (my_perl->Tstatgv)
-#define PL_statname (my_perl->Tstatname)
-#define PL_tainted (my_perl->Ttainted)
-#define PL_timesbuf (my_perl->Ttimesbuf)
-#define PL_tmps_floor (my_perl->Ttmps_floor)
-#define PL_tmps_ix (my_perl->Ttmps_ix)
-#define PL_tmps_max (my_perl->Ttmps_max)
-#define PL_tmps_stack (my_perl->Ttmps_stack)
-#define PL_top_env (my_perl->Ttop_env)
-#define PL_toptarget (my_perl->Ttoptarget)
-#define PL_watchaddr (my_perl->Twatchaddr)
-#define PL_watchok (my_perl->Twatchok)
-
-#else /* !PERL_IMPLICIT_CONTEXT */
+/*
+ The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
+ are supported:
+ 1) none
+ 2) MULTIPLICITY # supported for compatibility
+ 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
-/* traditional MULTIPLICITY (intepreter is in a global) */
+ All other combinations of these flags are errors.
-#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)
-
-#endif /* !PERL_IMPLICIT_CONTEXT */
-#endif /* !USE_THREADS */
-
-/* These are always per-interpreter if there is more than one */
+ only #3 is supported directly, while #2 is a special
+ case of #3 (supported by redefining vTHX appropriately).
+*/
-#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_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_alpha (PL_curinterp->Iutf8_alpha)
-#define PL_utf8_digit (PL_curinterp->Iutf8_digit)
-#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_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_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)
+#if defined(MULTIPLICITY)
+/* cases 2 and 3 above */
+
+# if defined(PERL_IMPLICIT_CONTEXT)
+# define vTHX aTHX
+# else
+# define vTHX PERL_GET_INTERP
+# endif
+
+#define PL_Sv (vTHX->TSv)
+#define PL_Xpv (vTHX->TXpv)
+#define PL_av_fetch_sv (vTHX->Tav_fetch_sv)
+#define PL_bodytarget (vTHX->Tbodytarget)
+#define PL_chopset (vTHX->Tchopset)
+#define PL_colors (vTHX->Tcolors)
+#define PL_colorset (vTHX->Tcolorset)
+#define PL_curcop (vTHX->Tcurcop)
+#define PL_curpad (vTHX->Tcurpad)
+#define PL_curpm (vTHX->Tcurpm)
+#define PL_curstack (vTHX->Tcurstack)
+#define PL_curstackinfo (vTHX->Tcurstackinfo)
+#define PL_curstash (vTHX->Tcurstash)
+#define PL_defoutgv (vTHX->Tdefoutgv)
+#define PL_defstash (vTHX->Tdefstash)
+#define PL_delaymagic (vTHX->Tdelaymagic)
+#define PL_dirty (vTHX->Tdirty)
+#define PL_dumpindent (vTHX->Tdumpindent)
+#define PL_efloatbuf (vTHX->Tefloatbuf)
+#define PL_efloatsize (vTHX->Tefloatsize)
+#define PL_errors (vTHX->Terrors)
+#define PL_firstgv (vTHX->Tfirstgv)
+#define PL_formtarget (vTHX->Tformtarget)
+#define PL_hv_fetch_ent_mh (vTHX->Thv_fetch_ent_mh)
+#define PL_hv_fetch_sv (vTHX->Thv_fetch_sv)
+#define PL_in_eval (vTHX->Tin_eval)
+#define PL_last_in_gv (vTHX->Tlast_in_gv)
+#define PL_lastgotoprobe (vTHX->Tlastgotoprobe)
+#define PL_lastscream (vTHX->Tlastscream)
+#define PL_localizing (vTHX->Tlocalizing)
+#define PL_mainstack (vTHX->Tmainstack)
+#define PL_markstack (vTHX->Tmarkstack)
+#define PL_markstack_max (vTHX->Tmarkstack_max)
+#define PL_markstack_ptr (vTHX->Tmarkstack_ptr)
+#define PL_maxscream (vTHX->Tmaxscream)
+#define PL_modcount (vTHX->Tmodcount)
+#define PL_na (vTHX->Tna)
+#define PL_ofs_sv (vTHX->Tofs_sv)
+#define PL_op (vTHX->Top)
+#define PL_opsave (vTHX->Topsave)
+#define PL_peepp (vTHX->Tpeepp)
+#define PL_reg_state (vTHX->Treg_state)
+#define PL_regcompp (vTHX->Tregcompp)
+#define PL_regdummy (vTHX->Tregdummy)
+#define PL_regexecp (vTHX->Tregexecp)
+#define PL_regfree (vTHX->Tregfree)
+#define PL_regint_start (vTHX->Tregint_start)
+#define PL_regint_string (vTHX->Tregint_string)
+#define PL_reginterp_cnt (vTHX->Treginterp_cnt)
+#define PL_regmatch_slab (vTHX->Tregmatch_slab)
+#define PL_regmatch_state (vTHX->Tregmatch_state)
+#define PL_restartop (vTHX->Trestartop)
+#define PL_rs (vTHX->Trs)
+#define PL_savestack (vTHX->Tsavestack)
+#define PL_savestack_ix (vTHX->Tsavestack_ix)
+#define PL_savestack_max (vTHX->Tsavestack_max)
+#define PL_scopestack (vTHX->Tscopestack)
+#define PL_scopestack_ix (vTHX->Tscopestack_ix)
+#define PL_scopestack_max (vTHX->Tscopestack_max)
+#define PL_screamfirst (vTHX->Tscreamfirst)
+#define PL_screamnext (vTHX->Tscreamnext)
+#define PL_secondgv (vTHX->Tsecondgv)
+#define PL_sortcop (vTHX->Tsortcop)
+#define PL_sortstash (vTHX->Tsortstash)
+#define PL_stack_base (vTHX->Tstack_base)
+#define PL_stack_max (vTHX->Tstack_max)
+#define PL_stack_sp (vTHX->Tstack_sp)
+#define PL_start_env (vTHX->Tstart_env)
+#define PL_statbuf (vTHX->Tstatbuf)
+#define PL_statcache (vTHX->Tstatcache)
+#define PL_statgv (vTHX->Tstatgv)
+#define PL_statname (vTHX->Tstatname)
+#define PL_tainted (vTHX->Ttainted)
+#define PL_timesbuf (vTHX->Ttimesbuf)
+#define PL_tmps_floor (vTHX->Ttmps_floor)
+#define PL_tmps_ix (vTHX->Ttmps_ix)
+#define PL_tmps_max (vTHX->Ttmps_max)
+#define PL_tmps_stack (vTHX->Ttmps_stack)
+#define PL_top_env (vTHX->Ttop_env)
+#define PL_toptarget (vTHX->Ttoptarget)
+#define PL_watchaddr (vTHX->Twatchaddr)
+#define PL_watchok (vTHX->Twatchok)
+
+/* cases 2 and 3 above */
+
+#define PL_Argv (vTHX->IArgv)
+#define PL_Cmd (vTHX->ICmd)
+#define PL_DBassertion (vTHX->IDBassertion)
+#define PL_DBcv (vTHX->IDBcv)
+#define PL_DBgv (vTHX->IDBgv)
+#define PL_DBline (vTHX->IDBline)
+#define PL_DBsignal (vTHX->IDBsignal)
+#define PL_DBsingle (vTHX->IDBsingle)
+#define PL_DBsub (vTHX->IDBsub)
+#define PL_DBtrace (vTHX->IDBtrace)
+#define PL_Dir (vTHX->IDir)
+#define PL_Env (vTHX->IEnv)
+#define PL_LIO (vTHX->ILIO)
+#define PL_Mem (vTHX->IMem)
+#define PL_MemParse (vTHX->IMemParse)
+#define PL_MemShared (vTHX->IMemShared)
+#define PL_OpPtr (vTHX->IOpPtr)
+#define PL_OpSlab (vTHX->IOpSlab)
+#define PL_OpSpace (vTHX->IOpSpace)
+#define PL_Proc (vTHX->IProc)
+#define PL_Sock (vTHX->ISock)
+#define PL_StdIO (vTHX->IStdIO)
+#define PL_amagic_generation (vTHX->Iamagic_generation)
+#define PL_an (vTHX->Ian)
+#define PL_argvgv (vTHX->Iargvgv)
+#define PL_argvout_stack (vTHX->Iargvout_stack)
+#define PL_argvoutgv (vTHX->Iargvoutgv)
+#define PL_basetime (vTHX->Ibasetime)
+#define PL_beginav (vTHX->Ibeginav)
+#define PL_beginav_save (vTHX->Ibeginav_save)
+#define PL_bitcount (vTHX->Ibitcount)
+#define PL_body_arenas (vTHX->Ibody_arenas)
+#define PL_body_roots (vTHX->Ibody_roots)
+#define PL_bufend (vTHX->Ibufend)
+#define PL_bufptr (vTHX->Ibufptr)
+#define PL_checkav (vTHX->Icheckav)
+#define PL_checkav_save (vTHX->Icheckav_save)
+#define PL_clocktick (vTHX->Iclocktick)
+#define PL_collation_ix (vTHX->Icollation_ix)
+#define PL_collation_name (vTHX->Icollation_name)
+#define PL_collation_standard (vTHX->Icollation_standard)
+#define PL_collxfrm_base (vTHX->Icollxfrm_base)
+#define PL_collxfrm_mult (vTHX->Icollxfrm_mult)
+#define PL_compcv (vTHX->Icompcv)
+#define PL_compiling (vTHX->Icompiling)
+#define PL_comppad (vTHX->Icomppad)
+#define PL_comppad_name (vTHX->Icomppad_name)
+#define PL_comppad_name_fill (vTHX->Icomppad_name_fill)
+#define PL_comppad_name_floor (vTHX->Icomppad_name_floor)
+#define PL_cop_seqmax (vTHX->Icop_seqmax)
+#define PL_copline (vTHX->Icopline)
+#define PL_cryptseen (vTHX->Icryptseen)
+#define PL_cshlen (vTHX->Icshlen)
+#define PL_cshname (vTHX->Icshname)
+#define PL_curcopdb (vTHX->Icurcopdb)
+#define PL_curforce (vTHX->Icurforce)
+#define PL_curstname (vTHX->Icurstname)
+#define PL_custom_op_descs (vTHX->Icustom_op_descs)
+#define PL_custom_op_names (vTHX->Icustom_op_names)
+#define PL_cv_has_eval (vTHX->Icv_has_eval)
+#define PL_dbargs (vTHX->Idbargs)
+#define PL_debstash (vTHX->Idebstash)
+#define PL_debug (vTHX->Idebug)
+#define PL_debug_pad (vTHX->Idebug_pad)
+#define PL_def_layerlist (vTHX->Idef_layerlist)
+#define PL_defgv (vTHX->Idefgv)
+#define PL_diehook (vTHX->Idiehook)
+#define PL_doextract (vTHX->Idoextract)
+#define PL_doswitches (vTHX->Idoswitches)
+#define PL_dowarn (vTHX->Idowarn)
+#define PL_dumper_fd (vTHX->Idumper_fd)
+#define PL_e_script (vTHX->Ie_script)
+#define PL_egid (vTHX->Iegid)
+#define PL_encoding (vTHX->Iencoding)
+#define PL_endav (vTHX->Iendav)
+#define PL_endwhite (vTHX->Iendwhite)
+#define PL_envgv (vTHX->Ienvgv)
+#define PL_errgv (vTHX->Ierrgv)
+#define PL_error_count (vTHX->Ierror_count)
+#define PL_euid (vTHX->Ieuid)
+#define PL_eval_root (vTHX->Ieval_root)
+#define PL_eval_start (vTHX->Ieval_start)
+#define PL_evalseq (vTHX->Ievalseq)
+#define PL_exit_flags (vTHX->Iexit_flags)
+#define PL_exitlist (vTHX->Iexitlist)
+#define PL_exitlistlen (vTHX->Iexitlistlen)
+#define PL_expect (vTHX->Iexpect)
+#define PL_faketokens (vTHX->Ifaketokens)
+#define PL_fdpid (vTHX->Ifdpid)
+#define PL_filemode (vTHX->Ifilemode)
+#define PL_forkprocess (vTHX->Iforkprocess)
+#define PL_formfeed (vTHX->Iformfeed)
+#define PL_generation (vTHX->Igeneration)
+#define PL_gensym (vTHX->Igensym)
+#define PL_gid (vTHX->Igid)
+#define PL_glob_index (vTHX->Iglob_index)
+#define PL_globalstash (vTHX->Iglobalstash)
+#define PL_hash_seed (vTHX->Ihash_seed)
+#define PL_hash_seed_set (vTHX->Ihash_seed_set)
+#define PL_hintgv (vTHX->Ihintgv)
+#define PL_hints (vTHX->Ihints)
+#define PL_in_clean_all (vTHX->Iin_clean_all)
+#define PL_in_clean_objs (vTHX->Iin_clean_objs)
+#define PL_in_load_module (vTHX->Iin_load_module)
+#define PL_in_my (vTHX->Iin_my)
+#define PL_in_my_stash (vTHX->Iin_my_stash)
+#define PL_incgv (vTHX->Iincgv)
+#define PL_initav (vTHX->Iinitav)
+#define PL_inplace (vTHX->Iinplace)
+#define PL_known_layers (vTHX->Iknown_layers)
+#define PL_last_lop (vTHX->Ilast_lop)
+#define PL_last_lop_op (vTHX->Ilast_lop_op)
+#define PL_last_swash_hv (vTHX->Ilast_swash_hv)
+#define PL_last_swash_key (vTHX->Ilast_swash_key)
+#define PL_last_swash_klen (vTHX->Ilast_swash_klen)
+#define PL_last_swash_slen (vTHX->Ilast_swash_slen)
+#define PL_last_swash_tmps (vTHX->Ilast_swash_tmps)
+#define PL_last_uni (vTHX->Ilast_uni)
+#define PL_lastfd (vTHX->Ilastfd)
+#define PL_laststatval (vTHX->Ilaststatval)
+#define PL_laststype (vTHX->Ilaststype)
+#define PL_lasttoke (vTHX->Ilasttoke)
+#define PL_lex_brackets (vTHX->Ilex_brackets)
+#define PL_lex_brackstack (vTHX->Ilex_brackstack)
+#define PL_lex_casemods (vTHX->Ilex_casemods)
+#define PL_lex_casestack (vTHX->Ilex_casestack)
+#define PL_lex_defer (vTHX->Ilex_defer)
+#define PL_lex_dojoin (vTHX->Ilex_dojoin)
+#define PL_lex_expect (vTHX->Ilex_expect)
+#define PL_lex_formbrack (vTHX->Ilex_formbrack)
+#define PL_lex_inpat (vTHX->Ilex_inpat)
+#define PL_lex_inwhat (vTHX->Ilex_inwhat)
+#define PL_lex_op (vTHX->Ilex_op)
+#define PL_lex_repl (vTHX->Ilex_repl)
+#define PL_lex_starts (vTHX->Ilex_starts)
+#define PL_lex_state (vTHX->Ilex_state)
+#define PL_lex_stuff (vTHX->Ilex_stuff)
+#define PL_lineary (vTHX->Ilineary)
+#define PL_linestart (vTHX->Ilinestart)
+#define PL_linestr (vTHX->Ilinestr)
+#define PL_localpatches (vTHX->Ilocalpatches)
+#define PL_lockhook (vTHX->Ilockhook)
+#define PL_madskills (vTHX->Imadskills)
+#define PL_main_cv (vTHX->Imain_cv)
+#define PL_main_root (vTHX->Imain_root)
+#define PL_main_start (vTHX->Imain_start)
+#define PL_max_intro_pending (vTHX->Imax_intro_pending)
+#define PL_maxo (vTHX->Imaxo)
+#define PL_maxsysfd (vTHX->Imaxsysfd)
+#define PL_memory_debug_header (vTHX->Imemory_debug_header)
+#define PL_mess_sv (vTHX->Imess_sv)
+#define PL_min_intro_pending (vTHX->Imin_intro_pending)
+#define PL_minus_E (vTHX->Iminus_E)
+#define PL_minus_F (vTHX->Iminus_F)
+#define PL_minus_a (vTHX->Iminus_a)
+#define PL_minus_c (vTHX->Iminus_c)
+#define PL_minus_l (vTHX->Iminus_l)
+#define PL_minus_n (vTHX->Iminus_n)
+#define PL_minus_p (vTHX->Iminus_p)
+#define PL_modglobal (vTHX->Imodglobal)
+#define PL_multi_close (vTHX->Imulti_close)
+#define PL_multi_end (vTHX->Imulti_end)
+#define PL_multi_open (vTHX->Imulti_open)
+#define PL_multi_start (vTHX->Imulti_start)
+#define PL_my_cxt_list (vTHX->Imy_cxt_list)
+#define PL_my_cxt_size (vTHX->Imy_cxt_size)
+#define PL_nexttoke (vTHX->Inexttoke)
+#define PL_nexttype (vTHX->Inexttype)
+#define PL_nextval (vTHX->Inextval)
+#define PL_nextwhite (vTHX->Inextwhite)
+#define PL_nice_chunk (vTHX->Inice_chunk)
+#define PL_nice_chunk_size (vTHX->Inice_chunk_size)
+#define PL_nomemok (vTHX->Inomemok)
+#define PL_numeric_compat1 (vTHX->Inumeric_compat1)
+#define PL_numeric_local (vTHX->Inumeric_local)
+#define PL_numeric_name (vTHX->Inumeric_name)
+#define PL_numeric_radix_sv (vTHX->Inumeric_radix_sv)
+#define PL_numeric_standard (vTHX->Inumeric_standard)
+#define PL_oldbufptr (vTHX->Ioldbufptr)
+#define PL_oldname (vTHX->Ioldname)
+#define PL_oldoldbufptr (vTHX->Ioldoldbufptr)
+#define PL_op_mask (vTHX->Iop_mask)
+#define PL_origalen (vTHX->Iorigalen)
+#define PL_origargc (vTHX->Iorigargc)
+#define PL_origargv (vTHX->Iorigargv)
+#define PL_origenviron (vTHX->Iorigenviron)
+#define PL_origfilename (vTHX->Iorigfilename)
+#define PL_ors_sv (vTHX->Iors_sv)
+#define PL_osname (vTHX->Iosname)
+#define PL_pad_reset_pending (vTHX->Ipad_reset_pending)
+#define PL_padix (vTHX->Ipadix)
+#define PL_padix_floor (vTHX->Ipadix_floor)
+#define PL_patchlevel (vTHX->Ipatchlevel)
+#define PL_pending_ident (vTHX->Ipending_ident)
+#define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
+#define PL_perldb (vTHX->Iperldb)
+#define PL_perlio (vTHX->Iperlio)
+#define PL_pidstatus (vTHX->Ipidstatus)
+#define PL_ppid (vTHX->Ippid)
+#define PL_preambleav (vTHX->Ipreambleav)
+#define PL_preambled (vTHX->Ipreambled)
+#define PL_preprocess (vTHX->Ipreprocess)
+#define PL_profiledata (vTHX->Iprofiledata)
+#define PL_psig_name (vTHX->Ipsig_name)
+#define PL_psig_pend (vTHX->Ipsig_pend)
+#define PL_psig_ptr (vTHX->Ipsig_ptr)
+#define PL_ptr_table (vTHX->Iptr_table)
+#define PL_realtokenstart (vTHX->Irealtokenstart)
+#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
+#define PL_reentrant_retint (vTHX->Ireentrant_retint)
+#define PL_regex_pad (vTHX->Iregex_pad)
+#define PL_regex_padav (vTHX->Iregex_padav)
+#define PL_rehash_seed (vTHX->Irehash_seed)
+#define PL_rehash_seed_set (vTHX->Irehash_seed_set)
+#define PL_replgv (vTHX->Ireplgv)
+#define PL_rsfp (vTHX->Irsfp)
+#define PL_rsfp_filters (vTHX->Irsfp_filters)
+#define PL_runops (vTHX->Irunops)
+#define PL_runops_dbg (vTHX->Irunops_dbg)
+#define PL_runops_std (vTHX->Irunops_std)
+#define PL_savebegin (vTHX->Isavebegin)
+#define PL_sawampersand (vTHX->Isawampersand)
+#define PL_sharehook (vTHX->Isharehook)
+#define PL_sig_pending (vTHX->Isig_pending)
+#define PL_sighandlerp (vTHX->Isighandlerp)
+#define PL_signals (vTHX->Isignals)
+#define PL_skipwhite (vTHX->Iskipwhite)
+#define PL_sort_RealCmp (vTHX->Isort_RealCmp)
+#define PL_splitstr (vTHX->Isplitstr)
+#define PL_srand_called (vTHX->Isrand_called)
+#define PL_stashcache (vTHX->Istashcache)
+#define PL_statusvalue (vTHX->Istatusvalue)
+#define PL_statusvalue_posix (vTHX->Istatusvalue_posix)
+#define PL_statusvalue_vms (vTHX->Istatusvalue_vms)
+#define PL_stderrgv (vTHX->Istderrgv)
+#define PL_stdingv (vTHX->Istdingv)
+#define PL_strtab (vTHX->Istrtab)
+#define PL_sub_generation (vTHX->Isub_generation)
+#define PL_sublex_info (vTHX->Isublex_info)
+#define PL_subline (vTHX->Isubline)
+#define PL_subname (vTHX->Isubname)
+#define PL_sv_arenaroot (vTHX->Isv_arenaroot)
+#define PL_sv_count (vTHX->Isv_count)
+#define PL_sv_no (vTHX->Isv_no)
+#define PL_sv_objcount (vTHX->Isv_objcount)
+#define PL_sv_root (vTHX->Isv_root)
+#define PL_sv_undef (vTHX->Isv_undef)
+#define PL_sv_yes (vTHX->Isv_yes)
+#define PL_sys_intern (vTHX->Isys_intern)
+#define PL_taint_warn (vTHX->Itaint_warn)
+#define PL_tainting (vTHX->Itainting)
+#define PL_thisclose (vTHX->Ithisclose)
+#define PL_thismad (vTHX->Ithismad)
+#define PL_thisopen (vTHX->Ithisopen)
+#define PL_thisstuff (vTHX->Ithisstuff)
+#define PL_thistoken (vTHX->Ithistoken)
+#define PL_thiswhite (vTHX->Ithiswhite)
+#define PL_threadhook (vTHX->Ithreadhook)
+#define PL_tokenbuf (vTHX->Itokenbuf)
+#define PL_uid (vTHX->Iuid)
+#define PL_unicode (vTHX->Iunicode)
+#define PL_unlockhook (vTHX->Iunlockhook)
+#define PL_unsafe (vTHX->Iunsafe)
+#define PL_utf8_alnum (vTHX->Iutf8_alnum)
+#define PL_utf8_alnumc (vTHX->Iutf8_alnumc)
+#define PL_utf8_alpha (vTHX->Iutf8_alpha)
+#define PL_utf8_ascii (vTHX->Iutf8_ascii)
+#define PL_utf8_cntrl (vTHX->Iutf8_cntrl)
+#define PL_utf8_digit (vTHX->Iutf8_digit)
+#define PL_utf8_graph (vTHX->Iutf8_graph)
+#define PL_utf8_idcont (vTHX->Iutf8_idcont)
+#define PL_utf8_idstart (vTHX->Iutf8_idstart)
+#define PL_utf8_lower (vTHX->Iutf8_lower)
+#define PL_utf8_mark (vTHX->Iutf8_mark)
+#define PL_utf8_print (vTHX->Iutf8_print)
+#define PL_utf8_punct (vTHX->Iutf8_punct)
+#define PL_utf8_space (vTHX->Iutf8_space)
+#define PL_utf8_tofold (vTHX->Iutf8_tofold)
+#define PL_utf8_tolower (vTHX->Iutf8_tolower)
+#define PL_utf8_totitle (vTHX->Iutf8_totitle)
+#define PL_utf8_toupper (vTHX->Iutf8_toupper)
+#define PL_utf8_upper (vTHX->Iutf8_upper)
+#define PL_utf8_xdigit (vTHX->Iutf8_xdigit)
+#define PL_utf8cache (vTHX->Iutf8cache)
+#define PL_utf8locale (vTHX->Iutf8locale)
+#define PL_uudmap (vTHX->Iuudmap)
+#define PL_warnhook (vTHX->Iwarnhook)
+#define PL_widesyscalls (vTHX->Iwidesyscalls)
+#define PL_xmlfp (vTHX->Ixmlfp)
+#define PL_yycharp (vTHX->Iyycharp)
+#define PL_yylvalp (vTHX->Iyylvalp)
#else /* !MULTIPLICITY */
+/* case 1 above */
+
#define PL_IArgv PL_Argv
#define PL_ICmd PL_Cmd
+#define PL_IDBassertion PL_DBassertion
#define PL_IDBcv PL_DBcv
#define PL_IDBgv PL_DBgv
#define PL_IDBline PL_DBline
#define PL_IDBsingle PL_DBsingle
#define PL_IDBsub PL_DBsub
#define PL_IDBtrace PL_DBtrace
+#define PL_IDir PL_Dir
+#define PL_IEnv PL_Env
+#define PL_ILIO PL_LIO
+#define PL_IMem PL_Mem
+#define PL_IMemParse PL_MemParse
+#define PL_IMemShared PL_MemShared
+#define PL_IOpPtr PL_OpPtr
+#define PL_IOpSlab PL_OpSlab
+#define PL_IOpSpace PL_OpSpace
+#define PL_IProc PL_Proc
+#define PL_ISock PL_Sock
+#define PL_IStdIO PL_StdIO
#define PL_Iamagic_generation PL_amagic_generation
-#define PL_Iampergv PL_ampergv
#define PL_Ian PL_an
-#define PL_Iarchpat_auto PL_archpat_auto
#define PL_Iargvgv PL_argvgv
+#define PL_Iargvout_stack PL_argvout_stack
#define PL_Iargvoutgv PL_argvoutgv
#define PL_Ibasetime PL_basetime
#define PL_Ibeginav PL_beginav
+#define PL_Ibeginav_save PL_beginav_save
#define PL_Ibitcount PL_bitcount
+#define PL_Ibody_arenas PL_body_arenas
+#define PL_Ibody_roots PL_body_roots
#define PL_Ibufend PL_bufend
#define PL_Ibufptr PL_bufptr
-#define PL_Icddir PL_cddir
+#define PL_Icheckav PL_checkav
+#define PL_Icheckav_save PL_checkav_save
+#define PL_Iclocktick PL_clocktick
#define PL_Icollation_ix PL_collation_ix
#define PL_Icollation_name PL_collation_name
#define PL_Icollation_standard PL_collation_standard
#define PL_Icomppad_name_floor PL_comppad_name_floor
#define PL_Icop_seqmax PL_cop_seqmax
#define PL_Icopline PL_copline
-#define PL_Icred_mutex PL_cred_mutex
#define PL_Icryptseen PL_cryptseen
#define PL_Icshlen PL_cshlen
#define PL_Icshname PL_cshname
#define PL_Icurcopdb PL_curcopdb
+#define PL_Icurforce PL_curforce
#define PL_Icurstname PL_curstname
-#define PL_Icurthr PL_curthr
+#define PL_Icustom_op_descs PL_custom_op_descs
+#define PL_Icustom_op_names PL_custom_op_names
+#define PL_Icv_has_eval PL_cv_has_eval
#define PL_Idbargs PL_dbargs
-#define PL_Idebdelim PL_debdelim
-#define PL_Idebname PL_debname
#define PL_Idebstash PL_debstash
#define PL_Idebug PL_debug
+#define PL_Idebug_pad PL_debug_pad
+#define PL_Idef_layerlist PL_def_layerlist
#define PL_Idefgv PL_defgv
#define PL_Idiehook PL_diehook
-#define PL_Idlevel PL_dlevel
-#define PL_Idlmax PL_dlmax
#define PL_Idoextract PL_doextract
#define PL_Idoswitches PL_doswitches
#define PL_Idowarn PL_dowarn
+#define PL_Idumper_fd PL_dumper_fd
#define PL_Ie_script PL_e_script
-#define PL_Iefloatbuf PL_efloatbuf
-#define PL_Iefloatsize PL_efloatsize
#define PL_Iegid PL_egid
+#define PL_Iencoding PL_encoding
#define PL_Iendav PL_endav
+#define PL_Iendwhite PL_endwhite
#define PL_Ienvgv PL_envgv
#define PL_Ierrgv PL_errgv
#define PL_Ierror_count PL_error_count
#define PL_Ieuid PL_euid
-#define PL_Ieval_cond PL_eval_cond
-#define PL_Ieval_mutex PL_eval_mutex
-#define PL_Ieval_owner PL_eval_owner
#define PL_Ieval_root PL_eval_root
#define PL_Ieval_start PL_eval_start
#define PL_Ievalseq PL_evalseq
+#define PL_Iexit_flags PL_exit_flags
#define PL_Iexitlist PL_exitlist
#define PL_Iexitlistlen PL_exitlistlen
#define PL_Iexpect PL_expect
+#define PL_Ifaketokens PL_faketokens
#define PL_Ifdpid PL_fdpid
#define PL_Ifilemode PL_filemode
-#define PL_Ifilter_debug PL_filter_debug
#define PL_Iforkprocess PL_forkprocess
#define PL_Iformfeed PL_formfeed
#define PL_Igeneration PL_generation
#define PL_Igid PL_gid
#define PL_Iglob_index PL_glob_index
#define PL_Iglobalstash PL_globalstash
-#define PL_Ihe_root PL_he_root
+#define PL_Ihash_seed PL_hash_seed
+#define PL_Ihash_seed_set PL_hash_seed_set
#define PL_Ihintgv PL_hintgv
#define PL_Ihints PL_hints
#define PL_Iin_clean_all PL_in_clean_all
#define PL_Iin_clean_objs PL_in_clean_objs
+#define PL_Iin_load_module PL_in_load_module
#define PL_Iin_my PL_in_my
#define PL_Iin_my_stash PL_in_my_stash
#define PL_Iincgv PL_incgv
#define PL_Iinitav PL_initav
#define PL_Iinplace PL_inplace
+#define PL_Iknown_layers PL_known_layers
#define PL_Ilast_lop PL_last_lop
#define PL_Ilast_lop_op PL_last_lop_op
#define PL_Ilast_swash_hv PL_last_swash_hv
#define PL_Ilast_swash_tmps PL_last_swash_tmps
#define PL_Ilast_uni PL_last_uni
#define PL_Ilastfd PL_lastfd
-#define PL_Ilastsize PL_lastsize
-#define PL_Ilastspbase PL_lastspbase
#define PL_Ilaststatval PL_laststatval
#define PL_Ilaststype PL_laststype
-#define PL_Ileftgv PL_leftgv
+#define PL_Ilasttoke PL_lasttoke
#define PL_Ilex_brackets PL_lex_brackets
#define PL_Ilex_brackstack PL_lex_brackstack
#define PL_Ilex_casemods PL_lex_casemods
#define PL_Ilex_defer PL_lex_defer
#define PL_Ilex_dojoin PL_lex_dojoin
#define PL_Ilex_expect PL_lex_expect
-#define PL_Ilex_fakebrack PL_lex_fakebrack
#define PL_Ilex_formbrack PL_lex_formbrack
#define PL_Ilex_inpat PL_lex_inpat
#define PL_Ilex_inwhat PL_lex_inwhat
#define PL_Ilinestart PL_linestart
#define PL_Ilinestr PL_linestr
#define PL_Ilocalpatches PL_localpatches
+#define PL_Ilockhook PL_lockhook
+#define PL_Imadskills PL_madskills
#define PL_Imain_cv PL_main_cv
#define PL_Imain_root PL_main_root
#define PL_Imain_start PL_main_start
-#define PL_Imalloc_mutex PL_malloc_mutex
#define PL_Imax_intro_pending PL_max_intro_pending
#define PL_Imaxo PL_maxo
#define PL_Imaxsysfd PL_maxsysfd
+#define PL_Imemory_debug_header PL_memory_debug_header
#define PL_Imess_sv PL_mess_sv
#define PL_Imin_intro_pending PL_min_intro_pending
+#define PL_Iminus_E PL_minus_E
#define PL_Iminus_F PL_minus_F
#define PL_Iminus_a PL_minus_a
#define PL_Iminus_c PL_minus_c
#define PL_Imulti_end PL_multi_end
#define PL_Imulti_open PL_multi_open
#define PL_Imulti_start PL_multi_start
-#define PL_Imultiline PL_multiline
-#define PL_Imystrk PL_mystrk
+#define PL_Imy_cxt_list PL_my_cxt_list
+#define PL_Imy_cxt_size PL_my_cxt_size
#define PL_Inexttoke PL_nexttoke
#define PL_Inexttype PL_nexttype
#define PL_Inextval PL_nextval
+#define PL_Inextwhite PL_nextwhite
#define PL_Inice_chunk PL_nice_chunk
#define PL_Inice_chunk_size PL_nice_chunk_size
#define PL_Inomemok PL_nomemok
-#define PL_Inthreads PL_nthreads
-#define PL_Inthreads_cond PL_nthreads_cond
+#define PL_Inumeric_compat1 PL_numeric_compat1
#define PL_Inumeric_local PL_numeric_local
#define PL_Inumeric_name PL_numeric_name
-#define PL_Inumeric_radix PL_numeric_radix
+#define PL_Inumeric_radix_sv PL_numeric_radix_sv
#define PL_Inumeric_standard PL_numeric_standard
-#define PL_Iofmt PL_ofmt
#define PL_Ioldbufptr PL_oldbufptr
-#define PL_Ioldlastpm PL_oldlastpm
#define PL_Ioldname PL_oldname
#define PL_Ioldoldbufptr PL_oldoldbufptr
#define PL_Iop_mask PL_op_mask
-#define PL_Iop_seqmax PL_op_seqmax
#define PL_Iorigalen PL_origalen
#define PL_Iorigargc PL_origargc
#define PL_Iorigargv PL_origargv
#define PL_Iorigenviron PL_origenviron
#define PL_Iorigfilename PL_origfilename
-#define PL_Iors PL_ors
-#define PL_Iorslen PL_orslen
+#define PL_Iors_sv PL_ors_sv
#define PL_Iosname PL_osname
#define PL_Ipad_reset_pending PL_pad_reset_pending
#define PL_Ipadix PL_padix
#define PL_Ipadix_floor PL_padix_floor
-#define PL_Iparsehook PL_parsehook
#define PL_Ipatchlevel PL_patchlevel
#define PL_Ipending_ident PL_pending_ident
#define PL_Iperl_destruct_level PL_perl_destruct_level
#define PL_Iperldb PL_perldb
+#define PL_Iperlio PL_perlio
#define PL_Ipidstatus PL_pidstatus
+#define PL_Ippid PL_ppid
#define PL_Ipreambleav PL_preambleav
#define PL_Ipreambled PL_preambled
#define PL_Ipreprocess PL_preprocess
#define PL_Iprofiledata PL_profiledata
+#define PL_Ipsig_name PL_psig_name
+#define PL_Ipsig_pend PL_psig_pend
+#define PL_Ipsig_ptr PL_psig_ptr
+#define PL_Iptr_table PL_ptr_table
+#define PL_Irealtokenstart PL_realtokenstart
+#define PL_Ireentrant_buffer PL_reentrant_buffer
+#define PL_Ireentrant_retint PL_reentrant_retint
+#define PL_Iregex_pad PL_regex_pad
+#define PL_Iregex_padav PL_regex_padav
+#define PL_Irehash_seed PL_rehash_seed
+#define PL_Irehash_seed_set PL_rehash_seed_set
#define PL_Ireplgv PL_replgv
-#define PL_Irightgv PL_rightgv
#define PL_Irsfp PL_rsfp
#define PL_Irsfp_filters PL_rsfp_filters
#define PL_Irunops PL_runops
+#define PL_Irunops_dbg PL_runops_dbg
+#define PL_Irunops_std PL_runops_std
+#define PL_Isavebegin PL_savebegin
#define PL_Isawampersand PL_sawampersand
-#define PL_Isawstudy PL_sawstudy
-#define PL_Isawvec PL_sawvec
-#define PL_Ish_path PL_sh_path
-#define PL_Isiggv PL_siggv
+#define PL_Isharehook PL_sharehook
+#define PL_Isig_pending PL_sig_pending
#define PL_Isighandlerp PL_sighandlerp
+#define PL_Isignals PL_signals
+#define PL_Iskipwhite PL_skipwhite
+#define PL_Isort_RealCmp PL_sort_RealCmp
#define PL_Isplitstr PL_splitstr
#define PL_Isrand_called PL_srand_called
+#define PL_Istashcache PL_stashcache
#define PL_Istatusvalue PL_statusvalue
+#define PL_Istatusvalue_posix PL_statusvalue_posix
#define PL_Istatusvalue_vms PL_statusvalue_vms
+#define PL_Istderrgv PL_stderrgv
#define PL_Istdingv PL_stdingv
-#define PL_Istrchop PL_strchop
#define PL_Istrtab PL_strtab
-#define PL_Istrtab_mutex PL_strtab_mutex
#define PL_Isub_generation PL_sub_generation
#define PL_Isublex_info PL_sublex_info
#define PL_Isubline PL_subline
#define PL_Isubname PL_subname
#define PL_Isv_arenaroot PL_sv_arenaroot
#define PL_Isv_count PL_sv_count
-#define PL_Isv_mutex PL_sv_mutex
#define PL_Isv_no PL_sv_no
#define PL_Isv_objcount PL_sv_objcount
#define PL_Isv_root PL_sv_root
#define PL_Isv_undef PL_sv_undef
#define PL_Isv_yes PL_sv_yes
-#define PL_Isvref_mutex PL_svref_mutex
#define PL_Isys_intern PL_sys_intern
+#define PL_Itaint_warn PL_taint_warn
#define PL_Itainting PL_tainting
-#define PL_Ithisexpr PL_thisexpr
-#define PL_Ithr_key PL_thr_key
-#define PL_Ithreadnum PL_threadnum
-#define PL_Ithreads_mutex PL_threads_mutex
-#define PL_Ithreadsv_names PL_threadsv_names
-#define PL_Ithrsv PL_thrsv
+#define PL_Ithisclose PL_thisclose
+#define PL_Ithismad PL_thismad
+#define PL_Ithisopen PL_thisopen
+#define PL_Ithisstuff PL_thisstuff
+#define PL_Ithistoken PL_thistoken
+#define PL_Ithiswhite PL_thiswhite
+#define PL_Ithreadhook PL_threadhook
#define PL_Itokenbuf PL_tokenbuf
#define PL_Iuid PL_uid
+#define PL_Iunicode PL_unicode
+#define PL_Iunlockhook PL_unlockhook
#define PL_Iunsafe PL_unsafe
#define PL_Iutf8_alnum PL_utf8_alnum
+#define PL_Iutf8_alnumc PL_utf8_alnumc
#define PL_Iutf8_alpha PL_utf8_alpha
+#define PL_Iutf8_ascii PL_utf8_ascii
+#define PL_Iutf8_cntrl PL_utf8_cntrl
#define PL_Iutf8_digit PL_utf8_digit
+#define PL_Iutf8_graph PL_utf8_graph
+#define PL_Iutf8_idcont PL_utf8_idcont
+#define PL_Iutf8_idstart PL_utf8_idstart
#define PL_Iutf8_lower PL_utf8_lower
#define PL_Iutf8_mark PL_utf8_mark
#define PL_Iutf8_print PL_utf8_print
+#define PL_Iutf8_punct PL_utf8_punct
#define PL_Iutf8_space PL_utf8_space
+#define PL_Iutf8_tofold PL_utf8_tofold
#define PL_Iutf8_tolower PL_utf8_tolower
#define PL_Iutf8_totitle PL_utf8_totitle
#define PL_Iutf8_toupper PL_utf8_toupper
#define PL_Iutf8_upper PL_utf8_upper
+#define PL_Iutf8_xdigit PL_utf8_xdigit
+#define PL_Iutf8cache PL_utf8cache
+#define PL_Iutf8locale PL_utf8locale
#define PL_Iuudmap PL_uudmap
#define PL_Iwarnhook PL_warnhook
-#define PL_Ixiv_arenaroot PL_xiv_arenaroot
-#define PL_Ixiv_root PL_xiv_root
-#define PL_Ixnv_root PL_xnv_root
-#define PL_Ixpv_root PL_xpv_root
-#define PL_Ixrv_root PL_xrv_root
-#define PL_Iyychar PL_yychar
-#define PL_Iyydebug PL_yydebug
-#define PL_Iyyerrflag PL_yyerrflag
-#define PL_Iyylval PL_yylval
-#define PL_Iyynerrs PL_yynerrs
-#define PL_Iyyval PL_yyval
-
-#ifndef USE_THREADS
+#define PL_Iwidesyscalls PL_widesyscalls
+#define PL_Ixmlfp PL_xmlfp
+#define PL_Iyycharp PL_yycharp
+#define PL_Iyylvalp PL_yylvalp
#define PL_TSv PL_Sv
#define PL_TXpv PL_Xpv
#define PL_Tav_fetch_sv PL_av_fetch_sv
#define PL_Tbodytarget PL_bodytarget
-#define PL_Tbostr PL_bostr
#define PL_Tchopset PL_chopset
#define PL_Tcolors PL_colors
#define PL_Tcolorset PL_colorset
#define PL_Tdelaymagic PL_delaymagic
#define PL_Tdirty PL_dirty
#define PL_Tdumpindent PL_dumpindent
-#define PL_Textralen PL_extralen
+#define PL_Tefloatbuf PL_efloatbuf
+#define PL_Tefloatsize PL_efloatsize
+#define PL_Terrors PL_errors
#define PL_Tfirstgv PL_firstgv
#define PL_Tformtarget PL_formtarget
#define PL_Thv_fetch_ent_mh PL_hv_fetch_ent_mh
#define PL_Tmaxscream PL_maxscream
#define PL_Tmodcount PL_modcount
#define PL_Tna PL_na
-#define PL_Tnrs PL_nrs
-#define PL_Tofs PL_ofs
-#define PL_Tofslen PL_ofslen
+#define PL_Tofs_sv PL_ofs_sv
#define PL_Top PL_op
#define PL_Topsave PL_opsave
-#define PL_Tprotect PL_protect
-#define PL_Treg_call_cc PL_reg_call_cc
-#define PL_Treg_curpm PL_reg_curpm
-#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_magic PL_reg_magic
-#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_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_Tregbol PL_regbol
-#define PL_Tregcc PL_regcc
-#define PL_Tregcode PL_regcode
-#define PL_Tregcomp_parse PL_regcomp_parse
-#define PL_Tregcomp_rx PL_regcomp_rx
+#define PL_Tpeepp PL_peepp
+#define PL_Treg_state PL_reg_state
#define PL_Tregcompp PL_regcompp
-#define PL_Tregdata PL_regdata
#define PL_Tregdummy PL_regdummy
-#define PL_Tregendp PL_regendp
-#define PL_Tregeol PL_regeol
#define PL_Tregexecp PL_regexecp
-#define PL_Tregflags PL_regflags
#define PL_Tregfree PL_regfree
-#define PL_Tregindent PL_regindent
-#define PL_Treginput PL_reginput
#define PL_Tregint_start PL_regint_start
#define PL_Tregint_string PL_regint_string
#define PL_Treginterp_cnt PL_reginterp_cnt
-#define PL_Treglastparen PL_reglastparen
-#define PL_Tregnarrate PL_regnarrate
-#define PL_Tregnaughty PL_regnaughty
-#define PL_Tregnpar PL_regnpar
-#define PL_Tregprecomp PL_regprecomp
-#define PL_Tregprev PL_regprev
-#define PL_Tregprogram PL_regprogram
-#define PL_Tregsawback PL_regsawback
-#define PL_Tregseen PL_regseen
-#define PL_Tregsize PL_regsize
-#define PL_Tregstartp PL_regstartp
-#define PL_Tregtill PL_regtill
-#define PL_Tregxend PL_regxend
+#define PL_Tregmatch_slab PL_regmatch_slab
+#define PL_Tregmatch_state PL_regmatch_state
#define PL_Trestartop PL_restartop
-#define PL_Tretstack PL_retstack
-#define PL_Tretstack_ix PL_retstack_ix
-#define PL_Tretstack_max PL_retstack_max
#define PL_Trs PL_rs
#define PL_Tsavestack PL_savestack
#define PL_Tsavestack_ix PL_savestack_ix
#define PL_Tscreamfirst PL_screamfirst
#define PL_Tscreamnext PL_screamnext
#define PL_Tsecondgv PL_secondgv
-#define PL_Tseen_evals PL_seen_evals
-#define PL_Tseen_zerolen PL_seen_zerolen
#define PL_Tsortcop PL_sortcop
-#define PL_Tsortcxix PL_sortcxix
#define PL_Tsortstash PL_sortstash
#define PL_Tstack_base PL_stack_base
#define PL_Tstack_max PL_stack_max
#define PL_Twatchaddr PL_watchaddr
#define PL_Twatchok PL_watchok
-#endif /* USE_THREADS */
-
-/* Hide what would have been interpreter-specific symbols? */
-
-
-#ifndef USE_THREADS
-
-
-#endif /* USE_THREADS */
-#endif /* MULTIPLICITY */
-
-/* Now same trickey for per-thread variables */
-
-#ifdef USE_THREADS
-
-#define PL_Sv (thr->TSv)
-#define PL_Xpv (thr->TXpv)
-#define PL_av_fetch_sv (thr->Tav_fetch_sv)
-#define PL_bodytarget (thr->Tbodytarget)
-#define PL_bostr (thr->Tbostr)
-#define PL_chopset (thr->Tchopset)
-#define PL_colors (thr->Tcolors)
-#define PL_colorset (thr->Tcolorset)
-#define PL_curcop (thr->Tcurcop)
-#define PL_curpad (thr->Tcurpad)
-#define PL_curpm (thr->Tcurpm)
-#define PL_curstack (thr->Tcurstack)
-#define PL_curstackinfo (thr->Tcurstackinfo)
-#define PL_curstash (thr->Tcurstash)
-#define PL_defoutgv (thr->Tdefoutgv)
-#define PL_defstash (thr->Tdefstash)
-#define PL_delaymagic (thr->Tdelaymagic)
-#define PL_dirty (thr->Tdirty)
-#define PL_dumpindent (thr->Tdumpindent)
-#define PL_extralen (thr->Textralen)
-#define PL_firstgv (thr->Tfirstgv)
-#define PL_formtarget (thr->Tformtarget)
-#define PL_hv_fetch_ent_mh (thr->Thv_fetch_ent_mh)
-#define PL_hv_fetch_sv (thr->Thv_fetch_sv)
-#define PL_in_eval (thr->Tin_eval)
-#define PL_last_in_gv (thr->Tlast_in_gv)
-#define PL_lastgotoprobe (thr->Tlastgotoprobe)
-#define PL_lastscream (thr->Tlastscream)
-#define PL_localizing (thr->Tlocalizing)
-#define PL_mainstack (thr->Tmainstack)
-#define PL_markstack (thr->Tmarkstack)
-#define PL_markstack_max (thr->Tmarkstack_max)
-#define PL_markstack_ptr (thr->Tmarkstack_ptr)
-#define PL_maxscream (thr->Tmaxscream)
-#define PL_modcount (thr->Tmodcount)
-#define PL_na (thr->Tna)
-#define PL_nrs (thr->Tnrs)
-#define PL_ofs (thr->Tofs)
-#define PL_ofslen (thr->Tofslen)
-#define PL_op (thr->Top)
-#define PL_opsave (thr->Topsave)
-#define PL_protect (thr->Tprotect)
-#define PL_reg_call_cc (thr->Treg_call_cc)
-#define PL_reg_curpm (thr->Treg_curpm)
-#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_magic (thr->Treg_magic)
-#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_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_regbol (thr->Tregbol)
-#define PL_regcc (thr->Tregcc)
-#define PL_regcode (thr->Tregcode)
-#define PL_regcomp_parse (thr->Tregcomp_parse)
-#define PL_regcomp_rx (thr->Tregcomp_rx)
-#define PL_regcompp (thr->Tregcompp)
-#define PL_regdata (thr->Tregdata)
-#define PL_regdummy (thr->Tregdummy)
-#define PL_regendp (thr->Tregendp)
-#define PL_regeol (thr->Tregeol)
-#define PL_regexecp (thr->Tregexecp)
-#define PL_regflags (thr->Tregflags)
-#define PL_regfree (thr->Tregfree)
-#define PL_regindent (thr->Tregindent)
-#define PL_reginput (thr->Treginput)
-#define PL_regint_start (thr->Tregint_start)
-#define PL_regint_string (thr->Tregint_string)
-#define PL_reginterp_cnt (thr->Treginterp_cnt)
-#define PL_reglastparen (thr->Treglastparen)
-#define PL_regnarrate (thr->Tregnarrate)
-#define PL_regnaughty (thr->Tregnaughty)
-#define PL_regnpar (thr->Tregnpar)
-#define PL_regprecomp (thr->Tregprecomp)
-#define PL_regprev (thr->Tregprev)
-#define PL_regprogram (thr->Tregprogram)
-#define PL_regsawback (thr->Tregsawback)
-#define PL_regseen (thr->Tregseen)
-#define PL_regsize (thr->Tregsize)
-#define PL_regstartp (thr->Tregstartp)
-#define PL_regtill (thr->Tregtill)
-#define PL_regxend (thr->Tregxend)
-#define PL_restartop (thr->Trestartop)
-#define PL_retstack (thr->Tretstack)
-#define PL_retstack_ix (thr->Tretstack_ix)
-#define PL_retstack_max (thr->Tretstack_max)
-#define PL_rs (thr->Trs)
-#define PL_savestack (thr->Tsavestack)
-#define PL_savestack_ix (thr->Tsavestack_ix)
-#define PL_savestack_max (thr->Tsavestack_max)
-#define PL_scopestack (thr->Tscopestack)
-#define PL_scopestack_ix (thr->Tscopestack_ix)
-#define PL_scopestack_max (thr->Tscopestack_max)
-#define PL_screamfirst (thr->Tscreamfirst)
-#define PL_screamnext (thr->Tscreamnext)
-#define PL_secondgv (thr->Tsecondgv)
-#define PL_seen_evals (thr->Tseen_evals)
-#define PL_seen_zerolen (thr->Tseen_zerolen)
-#define PL_sortcop (thr->Tsortcop)
-#define PL_sortcxix (thr->Tsortcxix)
-#define PL_sortstash (thr->Tsortstash)
-#define PL_stack_base (thr->Tstack_base)
-#define PL_stack_max (thr->Tstack_max)
-#define PL_stack_sp (thr->Tstack_sp)
-#define PL_start_env (thr->Tstart_env)
-#define PL_statbuf (thr->Tstatbuf)
-#define PL_statcache (thr->Tstatcache)
-#define PL_statgv (thr->Tstatgv)
-#define PL_statname (thr->Tstatname)
-#define PL_tainted (thr->Ttainted)
-#define PL_timesbuf (thr->Ttimesbuf)
-#define PL_tmps_floor (thr->Ttmps_floor)
-#define PL_tmps_ix (thr->Ttmps_ix)
-#define PL_tmps_max (thr->Ttmps_max)
-#define PL_tmps_stack (thr->Ttmps_stack)
-#define PL_top_env (thr->Ttop_env)
-#define PL_toptarget (thr->Ttoptarget)
-#define PL_watchaddr (thr->Twatchaddr)
-#define PL_watchok (thr->Twatchok)
-
-#endif /* USE_THREADS */
-
-#ifdef PERL_GLOBAL_STRUCT
-
-#define PL_No (PL_Vars.GNo)
-#define PL_Yes (PL_Vars.GYes)
-#define PL_curinterp (PL_Vars.Gcurinterp)
-#define PL_do_undump (PL_Vars.Gdo_undump)
-#define PL_hexdigit (PL_Vars.Ghexdigit)
-#define PL_patleave (PL_Vars.Gpatleave)
+#endif /* MULTIPLICITY */
+
+#if defined(PERL_GLOBAL_STRUCT)
+
+#define PL_No (my_vars->GNo)
+#define PL_GNo (my_vars->GNo)
+#define PL_Yes (my_vars->GYes)
+#define PL_GYes (my_vars->GYes)
+#define PL_appctx (my_vars->Gappctx)
+#define PL_Gappctx (my_vars->Gappctx)
+#define PL_check (my_vars->Gcheck)
+#define PL_Gcheck (my_vars->Gcheck)
+#define PL_csighandlerp (my_vars->Gcsighandlerp)
+#define PL_Gcsighandlerp (my_vars->Gcsighandlerp)
+#define PL_curinterp (my_vars->Gcurinterp)
+#define PL_Gcurinterp (my_vars->Gcurinterp)
+#define PL_do_undump (my_vars->Gdo_undump)
+#define PL_Gdo_undump (my_vars->Gdo_undump)
+#define PL_dollarzero_mutex (my_vars->Gdollarzero_mutex)
+#define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex)
+#define PL_fold_locale (my_vars->Gfold_locale)
+#define PL_Gfold_locale (my_vars->Gfold_locale)
+#define PL_hexdigit (my_vars->Ghexdigit)
+#define PL_Ghexdigit (my_vars->Ghexdigit)
+#define PL_hints_mutex (my_vars->Ghints_mutex)
+#define PL_Ghints_mutex (my_vars->Ghints_mutex)
+#define PL_malloc_mutex (my_vars->Gmalloc_mutex)
+#define PL_Gmalloc_mutex (my_vars->Gmalloc_mutex)
+#define PL_mmap_page_size (my_vars->Gmmap_page_size)
+#define PL_Gmmap_page_size (my_vars->Gmmap_page_size)
+#define PL_my_ctx_mutex (my_vars->Gmy_ctx_mutex)
+#define PL_Gmy_ctx_mutex (my_vars->Gmy_ctx_mutex)
+#define PL_my_cxt_index (my_vars->Gmy_cxt_index)
+#define PL_Gmy_cxt_index (my_vars->Gmy_cxt_index)
+#define PL_op_mutex (my_vars->Gop_mutex)
+#define PL_Gop_mutex (my_vars->Gop_mutex)
+#define PL_op_seq (my_vars->Gop_seq)
+#define PL_Gop_seq (my_vars->Gop_seq)
+#define PL_op_sequence (my_vars->Gop_sequence)
+#define PL_Gop_sequence (my_vars->Gop_sequence)
+#define PL_patleave (my_vars->Gpatleave)
+#define PL_Gpatleave (my_vars->Gpatleave)
+#define PL_perlio_debug_fd (my_vars->Gperlio_debug_fd)
+#define PL_Gperlio_debug_fd (my_vars->Gperlio_debug_fd)
+#define PL_perlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
+#define PL_Gperlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
+#define PL_perlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
+#define PL_Gperlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
+#define PL_ppaddr (my_vars->Gppaddr)
+#define PL_Gppaddr (my_vars->Gppaddr)
+#define PL_sh_path (my_vars->Gsh_path)
+#define PL_Gsh_path (my_vars->Gsh_path)
+#define PL_sig_defaulting (my_vars->Gsig_defaulting)
+#define PL_Gsig_defaulting (my_vars->Gsig_defaulting)
+#define PL_sig_handlers_initted (my_vars->Gsig_handlers_initted)
+#define PL_Gsig_handlers_initted (my_vars->Gsig_handlers_initted)
+#define PL_sig_ignoring (my_vars->Gsig_ignoring)
+#define PL_Gsig_ignoring (my_vars->Gsig_ignoring)
+#define PL_sig_sv (my_vars->Gsig_sv)
+#define PL_Gsig_sv (my_vars->Gsig_sv)
+#define PL_sig_trapped (my_vars->Gsig_trapped)
+#define PL_Gsig_trapped (my_vars->Gsig_trapped)
+#define PL_sigfpe_saved (my_vars->Gsigfpe_saved)
+#define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved)
+#define PL_sv_placeholder (my_vars->Gsv_placeholder)
+#define PL_Gsv_placeholder (my_vars->Gsv_placeholder)
+#define PL_thr_key (my_vars->Gthr_key)
+#define PL_Gthr_key (my_vars->Gthr_key)
+#define PL_timesbase (my_vars->Gtimesbase)
+#define PL_Gtimesbase (my_vars->Gtimesbase)
+#define PL_use_safe_putenv (my_vars->Guse_safe_putenv)
+#define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv)
+#define PL_watch_pvx (my_vars->Gwatch_pvx)
+#define PL_Gwatch_pvx (my_vars->Gwatch_pvx)
#else /* !PERL_GLOBAL_STRUCT */
#define PL_GNo PL_No
#define PL_GYes PL_Yes
+#define PL_Gappctx PL_appctx
+#define PL_Gcheck PL_check
+#define PL_Gcsighandlerp PL_csighandlerp
#define PL_Gcurinterp PL_curinterp
#define PL_Gdo_undump PL_do_undump
+#define PL_Gdollarzero_mutex PL_dollarzero_mutex
+#define PL_Gfold_locale PL_fold_locale
#define PL_Ghexdigit PL_hexdigit
+#define PL_Ghints_mutex PL_hints_mutex
+#define PL_Gmalloc_mutex PL_malloc_mutex
+#define PL_Gmmap_page_size PL_mmap_page_size
+#define PL_Gmy_ctx_mutex PL_my_ctx_mutex
+#define PL_Gmy_cxt_index PL_my_cxt_index
+#define PL_Gop_mutex PL_op_mutex
+#define PL_Gop_seq PL_op_seq
+#define PL_Gop_sequence PL_op_sequence
#define PL_Gpatleave PL_patleave
-
+#define PL_Gperlio_debug_fd PL_perlio_debug_fd
+#define PL_Gperlio_fd_refcnt PL_perlio_fd_refcnt
+#define PL_Gperlio_fd_refcnt_size PL_perlio_fd_refcnt_size
+#define PL_Gppaddr PL_ppaddr
+#define PL_Gsh_path PL_sh_path
+#define PL_Gsig_defaulting PL_sig_defaulting
+#define PL_Gsig_handlers_initted PL_sig_handlers_initted
+#define PL_Gsig_ignoring PL_sig_ignoring
+#define PL_Gsig_sv PL_sig_sv
+#define PL_Gsig_trapped PL_sig_trapped
+#define PL_Gsigfpe_saved PL_sigfpe_saved
+#define PL_Gsv_placeholder PL_sv_placeholder
+#define PL_Gthr_key PL_thr_key
+#define PL_Gtimesbase PL_timesbase
+#define PL_Guse_safe_putenv PL_use_safe_putenv
+#define PL_Gwatch_pvx PL_watch_pvx
#endif /* PERL_GLOBAL_STRUCT */
+#ifdef PERL_POLLUTE /* disabled by default in 5.6.0 */
-#ifdef PERL_POLLUTE /* disabled by default in 5.006 */
-
+#define DBassertion PL_DBassertion
#define DBsingle PL_DBsingle
#define DBsub PL_DBsub
#define compiling PL_compiling
#define no_modify PL_no_modify
#define perl_destruct_level PL_perl_destruct_level
#define perldb PL_perldb
+#define ppaddr PL_ppaddr
#define rsfp PL_rsfp
#define rsfp_filters PL_rsfp_filters
#define stack_base PL_stack_base
#define tainting PL_tainting
#endif /* PERL_POLLUTE */
+
+/* ex: set ro: */