/* (Doing namespace management portably in C is really gross.) */
/*
- The following combinations of MULTIPLICITY, USE_THREADS, PERL_OBJECT
+ The following combinations of MULTIPLICITY, USE_5005THREADS
and PERL_IMPLICIT_CONTEXT are supported:
1) none
2) MULTIPLICITY # supported for compatibility
3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
- 4) USE_THREADS && PERL_IMPLICIT_CONTEXT
- 5) MULTIPLICITY && USE_THREADS && PERL_IMPLICIT_CONTEXT
- 6) PERL_OBJECT && PERL_IMPLICIT_CONTEXT
+ 4) USE_5005THREADS && PERL_IMPLICIT_CONTEXT
+ 5) MULTIPLICITY && USE_5005THREADS && PERL_IMPLICIT_CONTEXT
All other combinations of these flags are errors.
#define PL_maxscream (vTHX->Tmaxscream)
#define PL_modcount (vTHX->Tmodcount)
#define PL_na (vTHX->Tna)
-#define PL_nrs (vTHX->Tnrs)
#define PL_ofs_sv (vTHX->Tofs_sv)
#define PL_op (vTHX->Top)
#define PL_opsave (vTHX->Topsave)
+#define PL_peepp (vTHX->Tpeepp)
#define PL_protect (vTHX->Tprotect)
#define PL_reg_call_cc (vTHX->Treg_call_cc)
#define PL_reg_curpm (vTHX->Treg_curpm)
#define PL_reg_ganch (vTHX->Treg_ganch)
#define PL_reg_leftiter (vTHX->Treg_leftiter)
#define PL_reg_magic (vTHX->Treg_magic)
+#define PL_reg_match_utf8 (vTHX->Treg_match_utf8)
#define PL_reg_maxiter (vTHX->Treg_maxiter)
#define PL_reg_oldcurpm (vTHX->Treg_oldcurpm)
#define PL_reg_oldpos (vTHX->Treg_oldpos)
#define PL_regint_start (vTHX->Tregint_start)
#define PL_regint_string (vTHX->Tregint_string)
#define PL_reginterp_cnt (vTHX->Treginterp_cnt)
+#define PL_reglastcloseparen (vTHX->Treglastcloseparen)
#define PL_reglastparen (vTHX->Treglastparen)
#define PL_regnarrate (vTHX->Tregnarrate)
#define PL_regnaughty (vTHX->Tregnaughty)
#define PL_tmps_stack (vTHX->Ttmps_stack)
#define PL_top_env (vTHX->Ttop_env)
#define PL_toptarget (vTHX->Ttoptarget)
+#define PL_unused_1 (vTHX->Tunused_1)
#define PL_watchaddr (vTHX->Twatchaddr)
#define PL_watchok (vTHX->Twatchok)
-# if defined(PERL_OBJECT)
-# include "error: PERL_OBJECT + MULTIPLICITY don't go together"
-# endif
-
-# if defined(USE_THREADS)
+# if defined(USE_5005THREADS)
/* case 5 above */
#define PL_Argv (PERL_GET_INTERP->IArgv)
#define PL_curcopdb (PERL_GET_INTERP->Icurcopdb)
#define PL_curstname (PERL_GET_INTERP->Icurstname)
#define PL_curthr (PERL_GET_INTERP->Icurthr)
+#define PL_custom_op_descs (PERL_GET_INTERP->Icustom_op_descs)
+#define PL_custom_op_names (PERL_GET_INTERP->Icustom_op_names)
#define PL_dbargs (PERL_GET_INTERP->Idbargs)
#define PL_debstash (PERL_GET_INTERP->Idebstash)
#define PL_debug (PERL_GET_INTERP->Idebug)
+#define PL_def_layerlist (PERL_GET_INTERP->Idef_layerlist)
#define PL_defgv (PERL_GET_INTERP->Idefgv)
#define PL_diehook (PERL_GET_INTERP->Idiehook)
#define PL_doextract (PERL_GET_INTERP->Idoextract)
#define PL_dowarn (PERL_GET_INTERP->Idowarn)
#define PL_e_script (PERL_GET_INTERP->Ie_script)
#define PL_egid (PERL_GET_INTERP->Iegid)
+#define PL_encoding (PERL_GET_INTERP->Iencoding)
#define PL_endav (PERL_GET_INTERP->Iendav)
#define PL_envgv (PERL_GET_INTERP->Ienvgv)
#define PL_errgv (PERL_GET_INTERP->Ierrgv)
#define PL_incgv (PERL_GET_INTERP->Iincgv)
#define PL_initav (PERL_GET_INTERP->Iinitav)
#define PL_inplace (PERL_GET_INTERP->Iinplace)
+#define PL_known_layers (PERL_GET_INTERP->Iknown_layers)
#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_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_perlio (PERL_GET_INTERP->Iperlio)
#define PL_pidstatus (PERL_GET_INTERP->Ipidstatus)
#define PL_preambleav (PERL_GET_INTERP->Ipreambleav)
#define PL_preambled (PERL_GET_INTERP->Ipreambled)
#define PL_psig_pend (PERL_GET_INTERP->Ipsig_pend)
#define PL_psig_ptr (PERL_GET_INTERP->Ipsig_ptr)
#define PL_ptr_table (PERL_GET_INTERP->Iptr_table)
+#define PL_reentrant_buffer (PERL_GET_INTERP->Ireentrant_buffer)
+#define PL_regex_pad (PERL_GET_INTERP->Iregex_pad)
+#define PL_regex_padav (PERL_GET_INTERP->Iregex_padav)
#define PL_replgv (PERL_GET_INTERP->Ireplgv)
#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_savebegin (PERL_GET_INTERP->Isavebegin)
#define PL_sawampersand (PERL_GET_INTERP->Isawampersand)
#define PL_sh_path (PERL_GET_INTERP->Ish_path)
#define PL_sig_pending (PERL_GET_INTERP->Isig_pending)
#define PL_yynerrs (PERL_GET_INTERP->Iyynerrs)
#define PL_yyval (PERL_GET_INTERP->Iyyval)
-# else /* !USE_THREADS */
+# else /* !USE_5005THREADS */
/* cases 2 and 3 above */
#define PL_Argv (vTHX->IArgv)
#define PL_curcopdb (vTHX->Icurcopdb)
#define PL_curstname (vTHX->Icurstname)
#define PL_curthr (vTHX->Icurthr)
+#define PL_custom_op_descs (vTHX->Icustom_op_descs)
+#define PL_custom_op_names (vTHX->Icustom_op_names)
#define PL_dbargs (vTHX->Idbargs)
#define PL_debstash (vTHX->Idebstash)
#define PL_debug (vTHX->Idebug)
+#define PL_def_layerlist (vTHX->Idef_layerlist)
#define PL_defgv (vTHX->Idefgv)
#define PL_diehook (vTHX->Idiehook)
#define PL_doextract (vTHX->Idoextract)
#define PL_dowarn (vTHX->Idowarn)
#define PL_e_script (vTHX->Ie_script)
#define PL_egid (vTHX->Iegid)
+#define PL_encoding (vTHX->Iencoding)
#define PL_endav (vTHX->Iendav)
#define PL_envgv (vTHX->Ienvgv)
#define PL_errgv (vTHX->Ierrgv)
#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_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_preambleav (vTHX->Ipreambleav)
#define PL_preambled (vTHX->Ipreambled)
#define PL_psig_pend (vTHX->Ipsig_pend)
#define PL_psig_ptr (vTHX->Ipsig_ptr)
#define PL_ptr_table (vTHX->Iptr_table)
+#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
+#define PL_regex_pad (vTHX->Iregex_pad)
+#define PL_regex_padav (vTHX->Iregex_padav)
#define PL_replgv (vTHX->Ireplgv)
#define PL_rsfp (vTHX->Irsfp)
#define PL_rsfp_filters (vTHX->Irsfp_filters)
#define PL_runops (vTHX->Irunops)
+#define PL_savebegin (vTHX->Isavebegin)
#define PL_sawampersand (vTHX->Isawampersand)
#define PL_sh_path (vTHX->Ish_path)
#define PL_sig_pending (vTHX->Isig_pending)
#define PL_yynerrs (vTHX->Iyynerrs)
#define PL_yyval (vTHX->Iyyval)
-# endif /* USE_THREADS */
+# endif /* USE_5005THREADS */
#else /* !MULTIPLICITY */
-# if defined(PERL_OBJECT)
-/* case 6 above */
-
-#define PL_Sv (aTHXo->interp.TSv)
-#define PL_Xpv (aTHXo->interp.TXpv)
-#define PL_av_fetch_sv (aTHXo->interp.Tav_fetch_sv)
-#define PL_bodytarget (aTHXo->interp.Tbodytarget)
-#define PL_bostr (aTHXo->interp.Tbostr)
-#define PL_chopset (aTHXo->interp.Tchopset)
-#define PL_colors (aTHXo->interp.Tcolors)
-#define PL_colorset (aTHXo->interp.Tcolorset)
-#define PL_curcop (aTHXo->interp.Tcurcop)
-#define PL_curpad (aTHXo->interp.Tcurpad)
-#define PL_curpm (aTHXo->interp.Tcurpm)
-#define PL_curstack (aTHXo->interp.Tcurstack)
-#define PL_curstackinfo (aTHXo->interp.Tcurstackinfo)
-#define PL_curstash (aTHXo->interp.Tcurstash)
-#define PL_defoutgv (aTHXo->interp.Tdefoutgv)
-#define PL_defstash (aTHXo->interp.Tdefstash)
-#define PL_delaymagic (aTHXo->interp.Tdelaymagic)
-#define PL_dirty (aTHXo->interp.Tdirty)
-#define PL_dumpindent (aTHXo->interp.Tdumpindent)
-#define PL_efloatbuf (aTHXo->interp.Tefloatbuf)
-#define PL_efloatsize (aTHXo->interp.Tefloatsize)
-#define PL_errors (aTHXo->interp.Terrors)
-#define PL_extralen (aTHXo->interp.Textralen)
-#define PL_firstgv (aTHXo->interp.Tfirstgv)
-#define PL_formtarget (aTHXo->interp.Tformtarget)
-#define PL_hv_fetch_ent_mh (aTHXo->interp.Thv_fetch_ent_mh)
-#define PL_hv_fetch_sv (aTHXo->interp.Thv_fetch_sv)
-#define PL_in_eval (aTHXo->interp.Tin_eval)
-#define PL_last_in_gv (aTHXo->interp.Tlast_in_gv)
-#define PL_lastgotoprobe (aTHXo->interp.Tlastgotoprobe)
-#define PL_lastscream (aTHXo->interp.Tlastscream)
-#define PL_localizing (aTHXo->interp.Tlocalizing)
-#define PL_mainstack (aTHXo->interp.Tmainstack)
-#define PL_markstack (aTHXo->interp.Tmarkstack)
-#define PL_markstack_max (aTHXo->interp.Tmarkstack_max)
-#define PL_markstack_ptr (aTHXo->interp.Tmarkstack_ptr)
-#define PL_maxscream (aTHXo->interp.Tmaxscream)
-#define PL_modcount (aTHXo->interp.Tmodcount)
-#define PL_na (aTHXo->interp.Tna)
-#define PL_nrs (aTHXo->interp.Tnrs)
-#define PL_ofs_sv (aTHXo->interp.Tofs_sv)
-#define PL_op (aTHXo->interp.Top)
-#define PL_opsave (aTHXo->interp.Topsave)
-#define PL_protect (aTHXo->interp.Tprotect)
-#define PL_reg_call_cc (aTHXo->interp.Treg_call_cc)
-#define PL_reg_curpm (aTHXo->interp.Treg_curpm)
-#define PL_reg_eval_set (aTHXo->interp.Treg_eval_set)
-#define PL_reg_flags (aTHXo->interp.Treg_flags)
-#define PL_reg_ganch (aTHXo->interp.Treg_ganch)
-#define PL_reg_leftiter (aTHXo->interp.Treg_leftiter)
-#define PL_reg_magic (aTHXo->interp.Treg_magic)
-#define PL_reg_maxiter (aTHXo->interp.Treg_maxiter)
-#define PL_reg_oldcurpm (aTHXo->interp.Treg_oldcurpm)
-#define PL_reg_oldpos (aTHXo->interp.Treg_oldpos)
-#define PL_reg_oldsaved (aTHXo->interp.Treg_oldsaved)
-#define PL_reg_oldsavedlen (aTHXo->interp.Treg_oldsavedlen)
-#define PL_reg_poscache (aTHXo->interp.Treg_poscache)
-#define PL_reg_poscache_size (aTHXo->interp.Treg_poscache_size)
-#define PL_reg_re (aTHXo->interp.Treg_re)
-#define PL_reg_start_tmp (aTHXo->interp.Treg_start_tmp)
-#define PL_reg_start_tmpl (aTHXo->interp.Treg_start_tmpl)
-#define PL_reg_starttry (aTHXo->interp.Treg_starttry)
-#define PL_reg_sv (aTHXo->interp.Treg_sv)
-#define PL_reg_whilem_seen (aTHXo->interp.Treg_whilem_seen)
-#define PL_regbol (aTHXo->interp.Tregbol)
-#define PL_regcc (aTHXo->interp.Tregcc)
-#define PL_regcode (aTHXo->interp.Tregcode)
-#define PL_regcomp_parse (aTHXo->interp.Tregcomp_parse)
-#define PL_regcomp_rx (aTHXo->interp.Tregcomp_rx)
-#define PL_regcompat1 (aTHXo->interp.Tregcompat1)
-#define PL_regcompp (aTHXo->interp.Tregcompp)
-#define PL_regdata (aTHXo->interp.Tregdata)
-#define PL_regdummy (aTHXo->interp.Tregdummy)
-#define PL_regendp (aTHXo->interp.Tregendp)
-#define PL_regeol (aTHXo->interp.Tregeol)
-#define PL_regexecp (aTHXo->interp.Tregexecp)
-#define PL_regflags (aTHXo->interp.Tregflags)
-#define PL_regfree (aTHXo->interp.Tregfree)
-#define PL_regindent (aTHXo->interp.Tregindent)
-#define PL_reginput (aTHXo->interp.Treginput)
-#define PL_regint_start (aTHXo->interp.Tregint_start)
-#define PL_regint_string (aTHXo->interp.Tregint_string)
-#define PL_reginterp_cnt (aTHXo->interp.Treginterp_cnt)
-#define PL_reglastparen (aTHXo->interp.Treglastparen)
-#define PL_regnarrate (aTHXo->interp.Tregnarrate)
-#define PL_regnaughty (aTHXo->interp.Tregnaughty)
-#define PL_regnpar (aTHXo->interp.Tregnpar)
-#define PL_regprecomp (aTHXo->interp.Tregprecomp)
-#define PL_regprogram (aTHXo->interp.Tregprogram)
-#define PL_regsawback (aTHXo->interp.Tregsawback)
-#define PL_regseen (aTHXo->interp.Tregseen)
-#define PL_regsize (aTHXo->interp.Tregsize)
-#define PL_regstartp (aTHXo->interp.Tregstartp)
-#define PL_regtill (aTHXo->interp.Tregtill)
-#define PL_regxend (aTHXo->interp.Tregxend)
-#define PL_restartop (aTHXo->interp.Trestartop)
-#define PL_retstack (aTHXo->interp.Tretstack)
-#define PL_retstack_ix (aTHXo->interp.Tretstack_ix)
-#define PL_retstack_max (aTHXo->interp.Tretstack_max)
-#define PL_rs (aTHXo->interp.Trs)
-#define PL_savestack (aTHXo->interp.Tsavestack)
-#define PL_savestack_ix (aTHXo->interp.Tsavestack_ix)
-#define PL_savestack_max (aTHXo->interp.Tsavestack_max)
-#define PL_scopestack (aTHXo->interp.Tscopestack)
-#define PL_scopestack_ix (aTHXo->interp.Tscopestack_ix)
-#define PL_scopestack_max (aTHXo->interp.Tscopestack_max)
-#define PL_screamfirst (aTHXo->interp.Tscreamfirst)
-#define PL_screamnext (aTHXo->interp.Tscreamnext)
-#define PL_secondgv (aTHXo->interp.Tsecondgv)
-#define PL_seen_evals (aTHXo->interp.Tseen_evals)
-#define PL_seen_zerolen (aTHXo->interp.Tseen_zerolen)
-#define PL_sortcop (aTHXo->interp.Tsortcop)
-#define PL_sortcxix (aTHXo->interp.Tsortcxix)
-#define PL_sortstash (aTHXo->interp.Tsortstash)
-#define PL_stack_base (aTHXo->interp.Tstack_base)
-#define PL_stack_max (aTHXo->interp.Tstack_max)
-#define PL_stack_sp (aTHXo->interp.Tstack_sp)
-#define PL_start_env (aTHXo->interp.Tstart_env)
-#define PL_statbuf (aTHXo->interp.Tstatbuf)
-#define PL_statcache (aTHXo->interp.Tstatcache)
-#define PL_statgv (aTHXo->interp.Tstatgv)
-#define PL_statname (aTHXo->interp.Tstatname)
-#define PL_tainted (aTHXo->interp.Ttainted)
-#define PL_timesbuf (aTHXo->interp.Ttimesbuf)
-#define PL_tmps_floor (aTHXo->interp.Ttmps_floor)
-#define PL_tmps_ix (aTHXo->interp.Ttmps_ix)
-#define PL_tmps_max (aTHXo->interp.Ttmps_max)
-#define PL_tmps_stack (aTHXo->interp.Ttmps_stack)
-#define PL_top_env (aTHXo->interp.Ttop_env)
-#define PL_toptarget (aTHXo->interp.Ttoptarget)
-#define PL_watchaddr (aTHXo->interp.Twatchaddr)
-#define PL_watchok (aTHXo->interp.Twatchok)
-#define PL_Argv (aTHXo->interp.IArgv)
-#define PL_Cmd (aTHXo->interp.ICmd)
-#define PL_DBcv (aTHXo->interp.IDBcv)
-#define PL_DBgv (aTHXo->interp.IDBgv)
-#define PL_DBline (aTHXo->interp.IDBline)
-#define PL_DBsignal (aTHXo->interp.IDBsignal)
-#define PL_DBsingle (aTHXo->interp.IDBsingle)
-#define PL_DBsub (aTHXo->interp.IDBsub)
-#define PL_DBtrace (aTHXo->interp.IDBtrace)
-#define PL_Dir (aTHXo->interp.IDir)
-#define PL_Env (aTHXo->interp.IEnv)
-#define PL_LIO (aTHXo->interp.ILIO)
-#define PL_Mem (aTHXo->interp.IMem)
-#define PL_MemParse (aTHXo->interp.IMemParse)
-#define PL_MemShared (aTHXo->interp.IMemShared)
-#define PL_Proc (aTHXo->interp.IProc)
-#define PL_Sock (aTHXo->interp.ISock)
-#define PL_StdIO (aTHXo->interp.IStdIO)
-#define PL_amagic_generation (aTHXo->interp.Iamagic_generation)
-#define PL_an (aTHXo->interp.Ian)
-#define PL_argvgv (aTHXo->interp.Iargvgv)
-#define PL_argvout_stack (aTHXo->interp.Iargvout_stack)
-#define PL_argvoutgv (aTHXo->interp.Iargvoutgv)
-#define PL_basetime (aTHXo->interp.Ibasetime)
-#define PL_beginav (aTHXo->interp.Ibeginav)
-#define PL_beginav_save (aTHXo->interp.Ibeginav_save)
-#define PL_bitcount (aTHXo->interp.Ibitcount)
-#define PL_bufend (aTHXo->interp.Ibufend)
-#define PL_bufptr (aTHXo->interp.Ibufptr)
-#define PL_checkav (aTHXo->interp.Icheckav)
-#define PL_collation_ix (aTHXo->interp.Icollation_ix)
-#define PL_collation_name (aTHXo->interp.Icollation_name)
-#define PL_collation_standard (aTHXo->interp.Icollation_standard)
-#define PL_collxfrm_base (aTHXo->interp.Icollxfrm_base)
-#define PL_collxfrm_mult (aTHXo->interp.Icollxfrm_mult)
-#define PL_compcv (aTHXo->interp.Icompcv)
-#define PL_compiling (aTHXo->interp.Icompiling)
-#define PL_comppad (aTHXo->interp.Icomppad)
-#define PL_comppad_name (aTHXo->interp.Icomppad_name)
-#define PL_comppad_name_fill (aTHXo->interp.Icomppad_name_fill)
-#define PL_comppad_name_floor (aTHXo->interp.Icomppad_name_floor)
-#define PL_cop_seqmax (aTHXo->interp.Icop_seqmax)
-#define PL_copline (aTHXo->interp.Icopline)
-#define PL_cred_mutex (aTHXo->interp.Icred_mutex)
-#define PL_cryptseen (aTHXo->interp.Icryptseen)
-#define PL_cshlen (aTHXo->interp.Icshlen)
-#define PL_cshname (aTHXo->interp.Icshname)
-#define PL_curcopdb (aTHXo->interp.Icurcopdb)
-#define PL_curstname (aTHXo->interp.Icurstname)
-#define PL_curthr (aTHXo->interp.Icurthr)
-#define PL_dbargs (aTHXo->interp.Idbargs)
-#define PL_debstash (aTHXo->interp.Idebstash)
-#define PL_debug (aTHXo->interp.Idebug)
-#define PL_defgv (aTHXo->interp.Idefgv)
-#define PL_diehook (aTHXo->interp.Idiehook)
-#define PL_doextract (aTHXo->interp.Idoextract)
-#define PL_doswitches (aTHXo->interp.Idoswitches)
-#define PL_dowarn (aTHXo->interp.Idowarn)
-#define PL_e_script (aTHXo->interp.Ie_script)
-#define PL_egid (aTHXo->interp.Iegid)
-#define PL_endav (aTHXo->interp.Iendav)
-#define PL_envgv (aTHXo->interp.Ienvgv)
-#define PL_errgv (aTHXo->interp.Ierrgv)
-#define PL_error_count (aTHXo->interp.Ierror_count)
-#define PL_euid (aTHXo->interp.Ieuid)
-#define PL_eval_cond (aTHXo->interp.Ieval_cond)
-#define PL_eval_mutex (aTHXo->interp.Ieval_mutex)
-#define PL_eval_owner (aTHXo->interp.Ieval_owner)
-#define PL_eval_root (aTHXo->interp.Ieval_root)
-#define PL_eval_start (aTHXo->interp.Ieval_start)
-#define PL_evalseq (aTHXo->interp.Ievalseq)
-#define PL_exit_flags (aTHXo->interp.Iexit_flags)
-#define PL_exitlist (aTHXo->interp.Iexitlist)
-#define PL_exitlistlen (aTHXo->interp.Iexitlistlen)
-#define PL_expect (aTHXo->interp.Iexpect)
-#define PL_fdpid (aTHXo->interp.Ifdpid)
-#define PL_fdpid_mutex (aTHXo->interp.Ifdpid_mutex)
-#define PL_filemode (aTHXo->interp.Ifilemode)
-#define PL_forkprocess (aTHXo->interp.Iforkprocess)
-#define PL_formfeed (aTHXo->interp.Iformfeed)
-#define PL_generation (aTHXo->interp.Igeneration)
-#define PL_gensym (aTHXo->interp.Igensym)
-#define PL_gid (aTHXo->interp.Igid)
-#define PL_glob_index (aTHXo->interp.Iglob_index)
-#define PL_globalstash (aTHXo->interp.Iglobalstash)
-#define PL_he_arenaroot (aTHXo->interp.Ihe_arenaroot)
-#define PL_he_root (aTHXo->interp.Ihe_root)
-#define PL_hintgv (aTHXo->interp.Ihintgv)
-#define PL_hints (aTHXo->interp.Ihints)
-#define PL_in_clean_all (aTHXo->interp.Iin_clean_all)
-#define PL_in_clean_objs (aTHXo->interp.Iin_clean_objs)
-#define PL_in_my (aTHXo->interp.Iin_my)
-#define PL_in_my_stash (aTHXo->interp.Iin_my_stash)
-#define PL_incgv (aTHXo->interp.Iincgv)
-#define PL_initav (aTHXo->interp.Iinitav)
-#define PL_inplace (aTHXo->interp.Iinplace)
-#define PL_last_lop (aTHXo->interp.Ilast_lop)
-#define PL_last_lop_op (aTHXo->interp.Ilast_lop_op)
-#define PL_last_swash_hv (aTHXo->interp.Ilast_swash_hv)
-#define PL_last_swash_key (aTHXo->interp.Ilast_swash_key)
-#define PL_last_swash_klen (aTHXo->interp.Ilast_swash_klen)
-#define PL_last_swash_slen (aTHXo->interp.Ilast_swash_slen)
-#define PL_last_swash_tmps (aTHXo->interp.Ilast_swash_tmps)
-#define PL_last_uni (aTHXo->interp.Ilast_uni)
-#define PL_lastfd (aTHXo->interp.Ilastfd)
-#define PL_laststatval (aTHXo->interp.Ilaststatval)
-#define PL_laststype (aTHXo->interp.Ilaststype)
-#define PL_lex_brackets (aTHXo->interp.Ilex_brackets)
-#define PL_lex_brackstack (aTHXo->interp.Ilex_brackstack)
-#define PL_lex_casemods (aTHXo->interp.Ilex_casemods)
-#define PL_lex_casestack (aTHXo->interp.Ilex_casestack)
-#define PL_lex_defer (aTHXo->interp.Ilex_defer)
-#define PL_lex_dojoin (aTHXo->interp.Ilex_dojoin)
-#define PL_lex_expect (aTHXo->interp.Ilex_expect)
-#define PL_lex_formbrack (aTHXo->interp.Ilex_formbrack)
-#define PL_lex_inpat (aTHXo->interp.Ilex_inpat)
-#define PL_lex_inwhat (aTHXo->interp.Ilex_inwhat)
-#define PL_lex_op (aTHXo->interp.Ilex_op)
-#define PL_lex_repl (aTHXo->interp.Ilex_repl)
-#define PL_lex_starts (aTHXo->interp.Ilex_starts)
-#define PL_lex_state (aTHXo->interp.Ilex_state)
-#define PL_lex_stuff (aTHXo->interp.Ilex_stuff)
-#define PL_lineary (aTHXo->interp.Ilineary)
-#define PL_linestart (aTHXo->interp.Ilinestart)
-#define PL_linestr (aTHXo->interp.Ilinestr)
-#define PL_localpatches (aTHXo->interp.Ilocalpatches)
-#define PL_main_cv (aTHXo->interp.Imain_cv)
-#define PL_main_root (aTHXo->interp.Imain_root)
-#define PL_main_start (aTHXo->interp.Imain_start)
-#define PL_max_intro_pending (aTHXo->interp.Imax_intro_pending)
-#define PL_maxo (aTHXo->interp.Imaxo)
-#define PL_maxsysfd (aTHXo->interp.Imaxsysfd)
-#define PL_mess_sv (aTHXo->interp.Imess_sv)
-#define PL_min_intro_pending (aTHXo->interp.Imin_intro_pending)
-#define PL_minus_F (aTHXo->interp.Iminus_F)
-#define PL_minus_a (aTHXo->interp.Iminus_a)
-#define PL_minus_c (aTHXo->interp.Iminus_c)
-#define PL_minus_l (aTHXo->interp.Iminus_l)
-#define PL_minus_n (aTHXo->interp.Iminus_n)
-#define PL_minus_p (aTHXo->interp.Iminus_p)
-#define PL_modglobal (aTHXo->interp.Imodglobal)
-#define PL_multi_close (aTHXo->interp.Imulti_close)
-#define PL_multi_end (aTHXo->interp.Imulti_end)
-#define PL_multi_open (aTHXo->interp.Imulti_open)
-#define PL_multi_start (aTHXo->interp.Imulti_start)
-#define PL_multiline (aTHXo->interp.Imultiline)
-#define PL_nexttoke (aTHXo->interp.Inexttoke)
-#define PL_nexttype (aTHXo->interp.Inexttype)
-#define PL_nextval (aTHXo->interp.Inextval)
-#define PL_nice_chunk (aTHXo->interp.Inice_chunk)
-#define PL_nice_chunk_size (aTHXo->interp.Inice_chunk_size)
-#define PL_nomemok (aTHXo->interp.Inomemok)
-#define PL_nthreads (aTHXo->interp.Inthreads)
-#define PL_nthreads_cond (aTHXo->interp.Inthreads_cond)
-#define PL_nullstash (aTHXo->interp.Inullstash)
-#define PL_numeric_compat1 (aTHXo->interp.Inumeric_compat1)
-#define PL_numeric_local (aTHXo->interp.Inumeric_local)
-#define PL_numeric_name (aTHXo->interp.Inumeric_name)
-#define PL_numeric_radix_sv (aTHXo->interp.Inumeric_radix_sv)
-#define PL_numeric_standard (aTHXo->interp.Inumeric_standard)
-#define PL_ofmt (aTHXo->interp.Iofmt)
-#define PL_oldbufptr (aTHXo->interp.Ioldbufptr)
-#define PL_oldname (aTHXo->interp.Ioldname)
-#define PL_oldoldbufptr (aTHXo->interp.Ioldoldbufptr)
-#define PL_op_mask (aTHXo->interp.Iop_mask)
-#define PL_op_seqmax (aTHXo->interp.Iop_seqmax)
-#define PL_origalen (aTHXo->interp.Iorigalen)
-#define PL_origargc (aTHXo->interp.Iorigargc)
-#define PL_origargv (aTHXo->interp.Iorigargv)
-#define PL_origenviron (aTHXo->interp.Iorigenviron)
-#define PL_origfilename (aTHXo->interp.Iorigfilename)
-#define PL_ors_sv (aTHXo->interp.Iors_sv)
-#define PL_osname (aTHXo->interp.Iosname)
-#define PL_pad_reset_pending (aTHXo->interp.Ipad_reset_pending)
-#define PL_padix (aTHXo->interp.Ipadix)
-#define PL_padix_floor (aTHXo->interp.Ipadix_floor)
-#define PL_patchlevel (aTHXo->interp.Ipatchlevel)
-#define PL_pending_ident (aTHXo->interp.Ipending_ident)
-#define PL_perl_destruct_level (aTHXo->interp.Iperl_destruct_level)
-#define PL_perldb (aTHXo->interp.Iperldb)
-#define PL_pidstatus (aTHXo->interp.Ipidstatus)
-#define PL_preambleav (aTHXo->interp.Ipreambleav)
-#define PL_preambled (aTHXo->interp.Ipreambled)
-#define PL_preprocess (aTHXo->interp.Ipreprocess)
-#define PL_profiledata (aTHXo->interp.Iprofiledata)
-#define PL_psig_name (aTHXo->interp.Ipsig_name)
-#define PL_psig_pend (aTHXo->interp.Ipsig_pend)
-#define PL_psig_ptr (aTHXo->interp.Ipsig_ptr)
-#define PL_ptr_table (aTHXo->interp.Iptr_table)
-#define PL_replgv (aTHXo->interp.Ireplgv)
-#define PL_rsfp (aTHXo->interp.Irsfp)
-#define PL_rsfp_filters (aTHXo->interp.Irsfp_filters)
-#define PL_runops (aTHXo->interp.Irunops)
-#define PL_sawampersand (aTHXo->interp.Isawampersand)
-#define PL_sh_path (aTHXo->interp.Ish_path)
-#define PL_sig_pending (aTHXo->interp.Isig_pending)
-#define PL_sighandlerp (aTHXo->interp.Isighandlerp)
-#define PL_splitstr (aTHXo->interp.Isplitstr)
-#define PL_srand_called (aTHXo->interp.Isrand_called)
-#define PL_statusvalue (aTHXo->interp.Istatusvalue)
-#define PL_statusvalue_vms (aTHXo->interp.Istatusvalue_vms)
-#define PL_stderrgv (aTHXo->interp.Istderrgv)
-#define PL_stdingv (aTHXo->interp.Istdingv)
-#define PL_strtab (aTHXo->interp.Istrtab)
-#define PL_strtab_mutex (aTHXo->interp.Istrtab_mutex)
-#define PL_sub_generation (aTHXo->interp.Isub_generation)
-#define PL_sublex_info (aTHXo->interp.Isublex_info)
-#define PL_subline (aTHXo->interp.Isubline)
-#define PL_subname (aTHXo->interp.Isubname)
-#define PL_sv_arenaroot (aTHXo->interp.Isv_arenaroot)
-#define PL_sv_count (aTHXo->interp.Isv_count)
-#define PL_sv_lock_mutex (aTHXo->interp.Isv_lock_mutex)
-#define PL_sv_mutex (aTHXo->interp.Isv_mutex)
-#define PL_sv_no (aTHXo->interp.Isv_no)
-#define PL_sv_objcount (aTHXo->interp.Isv_objcount)
-#define PL_sv_root (aTHXo->interp.Isv_root)
-#define PL_sv_undef (aTHXo->interp.Isv_undef)
-#define PL_sv_yes (aTHXo->interp.Isv_yes)
-#define PL_svref_mutex (aTHXo->interp.Isvref_mutex)
-#define PL_sys_intern (aTHXo->interp.Isys_intern)
-#define PL_tainting (aTHXo->interp.Itainting)
-#define PL_threadnum (aTHXo->interp.Ithreadnum)
-#define PL_threads_mutex (aTHXo->interp.Ithreads_mutex)
-#define PL_threadsv_names (aTHXo->interp.Ithreadsv_names)
-#define PL_thrsv (aTHXo->interp.Ithrsv)
-#define PL_tokenbuf (aTHXo->interp.Itokenbuf)
-#define PL_uid (aTHXo->interp.Iuid)
-#define PL_unsafe (aTHXo->interp.Iunsafe)
-#define PL_utf8_alnum (aTHXo->interp.Iutf8_alnum)
-#define PL_utf8_alnumc (aTHXo->interp.Iutf8_alnumc)
-#define PL_utf8_alpha (aTHXo->interp.Iutf8_alpha)
-#define PL_utf8_ascii (aTHXo->interp.Iutf8_ascii)
-#define PL_utf8_cntrl (aTHXo->interp.Iutf8_cntrl)
-#define PL_utf8_digit (aTHXo->interp.Iutf8_digit)
-#define PL_utf8_graph (aTHXo->interp.Iutf8_graph)
-#define PL_utf8_lower (aTHXo->interp.Iutf8_lower)
-#define PL_utf8_mark (aTHXo->interp.Iutf8_mark)
-#define PL_utf8_print (aTHXo->interp.Iutf8_print)
-#define PL_utf8_punct (aTHXo->interp.Iutf8_punct)
-#define PL_utf8_space (aTHXo->interp.Iutf8_space)
-#define PL_utf8_tolower (aTHXo->interp.Iutf8_tolower)
-#define PL_utf8_totitle (aTHXo->interp.Iutf8_totitle)
-#define PL_utf8_toupper (aTHXo->interp.Iutf8_toupper)
-#define PL_utf8_upper (aTHXo->interp.Iutf8_upper)
-#define PL_utf8_xdigit (aTHXo->interp.Iutf8_xdigit)
-#define PL_uudmap (aTHXo->interp.Iuudmap)
-#define PL_warnhook (aTHXo->interp.Iwarnhook)
-#define PL_widesyscalls (aTHXo->interp.Iwidesyscalls)
-#define PL_xiv_arenaroot (aTHXo->interp.Ixiv_arenaroot)
-#define PL_xiv_root (aTHXo->interp.Ixiv_root)
-#define PL_xnv_arenaroot (aTHXo->interp.Ixnv_arenaroot)
-#define PL_xnv_root (aTHXo->interp.Ixnv_root)
-#define PL_xpv_arenaroot (aTHXo->interp.Ixpv_arenaroot)
-#define PL_xpv_root (aTHXo->interp.Ixpv_root)
-#define PL_xpvav_arenaroot (aTHXo->interp.Ixpvav_arenaroot)
-#define PL_xpvav_root (aTHXo->interp.Ixpvav_root)
-#define PL_xpvbm_arenaroot (aTHXo->interp.Ixpvbm_arenaroot)
-#define PL_xpvbm_root (aTHXo->interp.Ixpvbm_root)
-#define PL_xpvcv_arenaroot (aTHXo->interp.Ixpvcv_arenaroot)
-#define PL_xpvcv_root (aTHXo->interp.Ixpvcv_root)
-#define PL_xpvhv_arenaroot (aTHXo->interp.Ixpvhv_arenaroot)
-#define PL_xpvhv_root (aTHXo->interp.Ixpvhv_root)
-#define PL_xpviv_arenaroot (aTHXo->interp.Ixpviv_arenaroot)
-#define PL_xpviv_root (aTHXo->interp.Ixpviv_root)
-#define PL_xpvlv_arenaroot (aTHXo->interp.Ixpvlv_arenaroot)
-#define PL_xpvlv_root (aTHXo->interp.Ixpvlv_root)
-#define PL_xpvmg_arenaroot (aTHXo->interp.Ixpvmg_arenaroot)
-#define PL_xpvmg_root (aTHXo->interp.Ixpvmg_root)
-#define PL_xpvnv_arenaroot (aTHXo->interp.Ixpvnv_arenaroot)
-#define PL_xpvnv_root (aTHXo->interp.Ixpvnv_root)
-#define PL_xrv_arenaroot (aTHXo->interp.Ixrv_arenaroot)
-#define PL_xrv_root (aTHXo->interp.Ixrv_root)
-#define PL_yychar (aTHXo->interp.Iyychar)
-#define PL_yydebug (aTHXo->interp.Iyydebug)
-#define PL_yyerrflag (aTHXo->interp.Iyyerrflag)
-#define PL_yylval (aTHXo->interp.Iyylval)
-#define PL_yynerrs (aTHXo->interp.Iyynerrs)
-#define PL_yyval (aTHXo->interp.Iyyval)
-
-# else /* !PERL_OBJECT */
-
/* cases 1 and 4 above */
#define PL_IArgv PL_Argv
#define PL_Icurcopdb PL_curcopdb
#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_Idbargs PL_dbargs
#define PL_Idebstash PL_debstash
#define PL_Idebug PL_debug
+#define PL_Idef_layerlist PL_def_layerlist
#define PL_Idefgv PL_defgv
#define PL_Idiehook PL_diehook
#define PL_Idoextract PL_doextract
#define PL_Idowarn PL_dowarn
#define PL_Ie_script PL_e_script
#define PL_Iegid PL_egid
+#define PL_Iencoding PL_encoding
#define PL_Iendav PL_endav
#define PL_Ienvgv PL_envgv
#define PL_Ierrgv PL_errgv
#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_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_Ipreambleav PL_preambleav
#define PL_Ipreambled PL_preambled
#define PL_Ipsig_pend PL_psig_pend
#define PL_Ipsig_ptr PL_psig_ptr
#define PL_Iptr_table PL_ptr_table
+#define PL_Ireentrant_buffer PL_reentrant_buffer
+#define PL_Iregex_pad PL_regex_pad
+#define PL_Iregex_padav PL_regex_padav
#define PL_Ireplgv PL_replgv
#define PL_Irsfp PL_rsfp
#define PL_Irsfp_filters PL_rsfp_filters
#define PL_Irunops PL_runops
+#define PL_Isavebegin PL_savebegin
#define PL_Isawampersand PL_sawampersand
#define PL_Ish_path PL_sh_path
#define PL_Isig_pending PL_sig_pending
#define PL_Iyynerrs PL_yynerrs
#define PL_Iyyval PL_yyval
-# if defined(USE_THREADS)
+# if defined(USE_5005THREADS)
/* case 4 above */
#define PL_Sv (aTHX->TSv)
#define PL_maxscream (aTHX->Tmaxscream)
#define PL_modcount (aTHX->Tmodcount)
#define PL_na (aTHX->Tna)
-#define PL_nrs (aTHX->Tnrs)
#define PL_ofs_sv (aTHX->Tofs_sv)
#define PL_op (aTHX->Top)
#define PL_opsave (aTHX->Topsave)
+#define PL_peepp (aTHX->Tpeepp)
#define PL_protect (aTHX->Tprotect)
#define PL_reg_call_cc (aTHX->Treg_call_cc)
#define PL_reg_curpm (aTHX->Treg_curpm)
#define PL_reg_ganch (aTHX->Treg_ganch)
#define PL_reg_leftiter (aTHX->Treg_leftiter)
#define PL_reg_magic (aTHX->Treg_magic)
+#define PL_reg_match_utf8 (aTHX->Treg_match_utf8)
#define PL_reg_maxiter (aTHX->Treg_maxiter)
#define PL_reg_oldcurpm (aTHX->Treg_oldcurpm)
#define PL_reg_oldpos (aTHX->Treg_oldpos)
#define PL_regint_start (aTHX->Tregint_start)
#define PL_regint_string (aTHX->Tregint_string)
#define PL_reginterp_cnt (aTHX->Treginterp_cnt)
+#define PL_reglastcloseparen (aTHX->Treglastcloseparen)
#define PL_reglastparen (aTHX->Treglastparen)
#define PL_regnarrate (aTHX->Tregnarrate)
#define PL_regnaughty (aTHX->Tregnaughty)
#define PL_tmps_stack (aTHX->Ttmps_stack)
#define PL_top_env (aTHX->Ttop_env)
#define PL_toptarget (aTHX->Ttoptarget)
+#define PL_unused_1 (aTHX->Tunused_1)
#define PL_watchaddr (aTHX->Twatchaddr)
#define PL_watchok (aTHX->Twatchok)
-# else /* !USE_THREADS */
+# else /* !USE_5005THREADS */
/* case 1 above */
#define PL_TSv PL_Sv
#define PL_Tmaxscream PL_maxscream
#define PL_Tmodcount PL_modcount
#define PL_Tna PL_na
-#define PL_Tnrs PL_nrs
#define PL_Tofs_sv PL_ofs_sv
#define PL_Top PL_op
#define PL_Topsave PL_opsave
+#define PL_Tpeepp PL_peepp
#define PL_Tprotect PL_protect
#define PL_Treg_call_cc PL_reg_call_cc
#define PL_Treg_curpm PL_reg_curpm
#define PL_Treg_ganch PL_reg_ganch
#define PL_Treg_leftiter PL_reg_leftiter
#define PL_Treg_magic PL_reg_magic
+#define PL_Treg_match_utf8 PL_reg_match_utf8
#define PL_Treg_maxiter PL_reg_maxiter
#define PL_Treg_oldcurpm PL_reg_oldcurpm
#define PL_Treg_oldpos PL_reg_oldpos
#define PL_Tregint_start PL_regint_start
#define PL_Tregint_string PL_regint_string
#define PL_Treginterp_cnt PL_reginterp_cnt
+#define PL_Treglastcloseparen PL_reglastcloseparen
#define PL_Treglastparen PL_reglastparen
#define PL_Tregnarrate PL_regnarrate
#define PL_Tregnaughty PL_regnaughty
#define PL_Ttmps_stack PL_tmps_stack
#define PL_Ttop_env PL_top_env
#define PL_Ttoptarget PL_toptarget
+#define PL_Tunused_1 PL_unused_1
#define PL_Twatchaddr PL_watchaddr
#define PL_Twatchok PL_watchok
-# endif /* USE_THREADS */
-# endif /* PERL_OBJECT */
+# endif /* USE_5005THREADS */
#endif /* MULTIPLICITY */
#if defined(PERL_GLOBAL_STRUCT)
#define PL_malloc_mutex (PL_Vars.Gmalloc_mutex)
#define PL_op_mutex (PL_Vars.Gop_mutex)
#define PL_patleave (PL_Vars.Gpatleave)
+#define PL_sharedsv_space (PL_Vars.Gsharedsv_space)
+#define PL_sharedsv_space_mutex (PL_Vars.Gsharedsv_space_mutex)
#define PL_thr_key (PL_Vars.Gthr_key)
#else /* !PERL_GLOBAL_STRUCT */
#define PL_Gmalloc_mutex PL_malloc_mutex
#define PL_Gop_mutex PL_op_mutex
#define PL_Gpatleave PL_patleave
+#define PL_Gsharedsv_space PL_sharedsv_space
+#define PL_Gsharedsv_space_mutex PL_sharedsv_space_mutex
#define PL_Gthr_key PL_thr_key
#endif /* PERL_GLOBAL_STRUCT */