This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
delete thrdvar.h and move its contents to intrpvar.h
authorDave Mitchell <davem@fdisolutions.com>
Sun, 20 May 2007 23:10:15 +0000 (23:10 +0000)
committerDave Mitchell <davem@fdisolutions.com>
Sun, 20 May 2007 23:10:15 +0000 (23:10 +0000)
p4raw-id: //depot/perl@31245

26 files changed:
MANIFEST
Makefile.SH
Makefile.micro
NetWare/Makefile
embed.h
embed.pl
embedvar.h
global.sym
intrpvar.h
lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MM_VMS.pm
makedef.pl
perl.c
perl.h
perlapi.c
perlapi.h
pod/perlapi.pod
pod/perlintern.pod
pod/perltodo.pod
proto.h
sv.c
thrdvar.h [deleted file]
vms/descrip_mms.template
win32/Makefile
win32/Makefile.ce
win32/makefile.mk

index ec9f0bb..cef3d60 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3382,7 +3382,6 @@ t/comp/uproto.t                   See if the _ prototype works
 t/comp/use.t                   See if pragmata work
 t/comp/utf.t                   See if UTFs work
 t/harness                      Finer diagnostics from test suite
 t/comp/use.t                   See if pragmata work
 t/comp/utf.t                   See if UTFs work
 t/harness                      Finer diagnostics from test suite
-thrdvar.h                      Per-thread variables
 thread.h                       Threading header
 t/io/argv.t                    See if ARGV stuff works
 t/io/binmode.t                 See if binmode() works
 thread.h                       Threading header
 t/io/argv.t                    See if ARGV stuff works
 t/io/binmode.t                 See if binmode() works
index 4ede36f..dcdd27f 100644 (file)
@@ -948,7 +948,7 @@ perly.h: perly.y
 # No interp.sym since 5.005_03.
 SYM  = global.sym globvar.sym perlio.sym pp.sym
 
 # No interp.sym since 5.005_03.
 SYM  = global.sym globvar.sym perlio.sym pp.sym
 
-SYMH = perlvars.h intrpvar.h thrdvar.h
+SYMH = perlvars.h intrpvar.h
 
 CHMOD_W = chmod +w
 
 
 CHMOD_W = chmod +w
 
index b851edb..be89251 100644 (file)
@@ -25,7 +25,7 @@ microperl:    $(O)
 H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \
        hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
        patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \
 H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \
        hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
        patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \
-       pp_proto.h proto.h reentr.h regexp.h scope.h sv.h thrdvar.h \
+       pp_proto.h proto.h reentr.h regexp.h scope.h sv.h \
        thread.h unixish.h utf8.h util.h warnings.h
 
 HE = $(H) EXTERN.h
        thread.h unixish.h utf8.h util.h warnings.h
 
 HE = $(H) EXTERN.h
index 9e7515f..eb79211 100644 (file)
@@ -782,8 +782,7 @@ CORE_NOCFG_H        =               \
                ..\XSUB.h       \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\XSUB.h       \
                ..\EXTERN.h     \
                ..\perlvars.h   \
-               ..\intrpvar.h   \
-               ..\thrdvar.h    
+               ..\intrpvar.h
                
 CORE_H         = $(CORE_NOCFG_H) .\config.h
 
                
 CORE_H         = $(CORE_NOCFG_H) .\config.h
 
diff --git a/embed.h b/embed.h
index 8e0ecba..97cd610 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -10,7 +10,7 @@
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
  *
  * !!!!!!!   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.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
index 53a32da..5718561 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -39,7 +39,7 @@ sub do_not_edit ($)
 
 !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 This file is built by embed.pl from data in embed.fnc, embed.pl,
 
 !!!!!!!   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.
+pp.sym, intrpvar.h, and perlvars.h.
 Any changes made here will be lost!
 
 Edit those files and run 'make regen_headers' to effect changes.
 Any changes made here will be lost!
 
 Edit those files and run 'make regen_headers' to effect changes.
@@ -342,17 +342,12 @@ sub readvars(\%$$@) {
 }
 
 my %intrp;
 }
 
 my %intrp;
-my %thread;
 my %globvar;
 
 readvars %intrp,  'intrpvar.h','I';
 my %globvar;
 
 readvars %intrp,  'intrpvar.h','I';
-readvars %thread, 'thrdvar.h','T';
 readvars %globvar, 'perlvars.h','G';
 
 my $sym;
 readvars %globvar, 'perlvars.h','G';
 
 my $sym;
-foreach $sym (sort keys %thread) {
-  warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
-}
 
 sub undefine ($) {
     my ($sym) = @_;
 
 sub undefine ($) {
     my ($sym) = @_;
@@ -669,16 +664,6 @@ print EM do_not_edit ("embedvar.h"), <<'END';
 
 END
 
 
 END
 
-for $sym (sort keys %thread) {
-    print EM multon($sym,'T','vTHX->');
-}
-
-print EM <<'END';
-
-/* cases 2 and 3 above */
-
-END
-
 for $sym (sort keys %intrp) {
     print EM multon($sym,'I','vTHX->');
 }
 for $sym (sort keys %intrp) {
     print EM multon($sym,'I','vTHX->');
 }
@@ -699,10 +684,6 @@ print EM <<'END';
 
 END
 
 
 END
 
-for $sym (sort keys %thread) {
-    print EM multoff($sym,'T');
-}
-
 print EM <<'END';
 
 #endif /* MULTIPLICITY */
 print EM <<'END';
 
 #endif /* MULTIPLICITY */
@@ -777,7 +758,6 @@ START_EXTERN_C
 #define PERLVARISC(v,i)        typedef const char PL_##v##_t[sizeof(i)];       \
                        EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
 
 #define PERLVARISC(v,i)        typedef const char PL_##v##_t[sizeof(i)];       \
                        EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -836,7 +816,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
 #pragma message disable (nonstandcast)
 #endif
 
 #pragma message disable (nonstandcast)
 #endif
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -864,10 +843,6 @@ foreach $sym (sort keys %intrp) {
     print CAPIH bincompat_var('I',$sym);
 }
 
     print CAPIH bincompat_var('I',$sym);
 }
 
-foreach $sym (sort keys %thread) {
-    print CAPIH bincompat_var('T',$sym);
-}
-
 foreach $sym (sort keys %globvar) {
     print CAPIH bincompat_var('G',$sym);
 }
 foreach $sym (sort keys %globvar) {
     print CAPIH bincompat_var('G',$sym);
 }
@@ -910,7 +885,6 @@ START_EXTERN_C
 #define PERLVARISC(v,i)        PL_##v##_t* Perl_##v##_ptr(pTHX)                \
                        { dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
 
 #define PERLVARISC(v,i)        PL_##v##_t* Perl_##v##_ptr(pTHX)                \
                        { dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 
 #undef PERLVAR
 #include "intrpvar.h"
 
 #undef PERLVAR
index 99f0864..adbfa1d 100644 (file)
@@ -10,7 +10,7 @@
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
  *
  * !!!!!!!   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.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
 #    define vTHX       PERL_GET_INTERP
 #  endif
 
 #    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_delayedisa          (vTHX->Tdelayedisa)
-#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_regdummy            (vTHX->Tregdummy)
-#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_Argv                        (vTHX->IArgv)
 #define PL_Cmd                 (vTHX->ICmd)
 #define PL_DBassertion         (vTHX->IDBassertion)
 #define PL_Proc                        (vTHX->IProc)
 #define PL_Sock                        (vTHX->ISock)
 #define PL_StdIO               (vTHX->IStdIO)
 #define PL_Proc                        (vTHX->IProc)
 #define PL_Sock                        (vTHX->ISock)
 #define PL_StdIO               (vTHX->IStdIO)
+#define PL_Sv                  (vTHX->ISv)
+#define PL_Xpv                 (vTHX->IXpv)
 #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_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_av_fetch_sv         (vTHX->Iav_fetch_sv)
 #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_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_bodytarget          (vTHX->Ibodytarget)
 #define PL_checkav             (vTHX->Icheckav)
 #define PL_checkav_save                (vTHX->Icheckav_save)
 #define PL_checkav             (vTHX->Icheckav)
 #define PL_checkav_save                (vTHX->Icheckav_save)
+#define PL_chopset             (vTHX->Ichopset)
 #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_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_colors              (vTHX->Icolors)
+#define PL_colorset            (vTHX->Icolorset)
 #define PL_compcv              (vTHX->Icompcv)
 #define PL_compiling           (vTHX->Icompiling)
 #define PL_comppad             (vTHX->Icomppad)
 #define PL_compcv              (vTHX->Icompcv)
 #define PL_compiling           (vTHX->Icompiling)
 #define PL_comppad             (vTHX->Icomppad)
 #define PL_cryptseen           (vTHX->Icryptseen)
 #define PL_cshlen              (vTHX->Icshlen)
 #define PL_cshname             (vTHX->Icshname)
 #define PL_cryptseen           (vTHX->Icryptseen)
 #define PL_cshlen              (vTHX->Icshlen)
 #define PL_cshname             (vTHX->Icshname)
+#define PL_curcop              (vTHX->Icurcop)
 #define PL_curcopdb            (vTHX->Icurcopdb)
 #define PL_curcopdb            (vTHX->Icurcopdb)
+#define PL_curpad              (vTHX->Icurpad)
+#define PL_curpm               (vTHX->Icurpm)
+#define PL_curstack            (vTHX->Icurstack)
+#define PL_curstackinfo                (vTHX->Icurstackinfo)
+#define PL_curstash            (vTHX->Icurstash)
 #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_curstname           (vTHX->Icurstname)
 #define PL_custom_op_descs     (vTHX->Icustom_op_descs)
 #define PL_custom_op_names     (vTHX->Icustom_op_names)
 #define PL_debug_pad           (vTHX->Idebug_pad)
 #define PL_def_layerlist       (vTHX->Idef_layerlist)
 #define PL_defgv               (vTHX->Idefgv)
 #define PL_debug_pad           (vTHX->Idebug_pad)
 #define PL_def_layerlist       (vTHX->Idef_layerlist)
 #define PL_defgv               (vTHX->Idefgv)
+#define PL_defoutgv            (vTHX->Idefoutgv)
+#define PL_defstash            (vTHX->Idefstash)
+#define PL_delayedisa          (vTHX->Idelayedisa)
+#define PL_delaymagic          (vTHX->Idelaymagic)
 #define PL_diehook             (vTHX->Idiehook)
 #define PL_diehook             (vTHX->Idiehook)
+#define PL_dirty               (vTHX->Idirty)
 #define PL_doextract           (vTHX->Idoextract)
 #define PL_doswitches          (vTHX->Idoswitches)
 #define PL_dowarn              (vTHX->Idowarn)
 #define PL_dumper_fd           (vTHX->Idumper_fd)
 #define PL_doextract           (vTHX->Idoextract)
 #define PL_doswitches          (vTHX->Idoswitches)
 #define PL_dowarn              (vTHX->Idowarn)
 #define PL_dumper_fd           (vTHX->Idumper_fd)
+#define PL_dumpindent          (vTHX->Idumpindent)
 #define PL_e_script            (vTHX->Ie_script)
 #define PL_e_script            (vTHX->Ie_script)
+#define PL_efloatbuf           (vTHX->Iefloatbuf)
+#define PL_efloatsize          (vTHX->Iefloatsize)
 #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_error_count         (vTHX->Ierror_count)
 #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_error_count         (vTHX->Ierror_count)
+#define PL_errors              (vTHX->Ierrors)
 #define PL_euid                        (vTHX->Ieuid)
 #define PL_eval_root           (vTHX->Ieval_root)
 #define PL_eval_start          (vTHX->Ieval_start)
 #define PL_euid                        (vTHX->Ieuid)
 #define PL_eval_root           (vTHX->Ieval_root)
 #define PL_eval_start          (vTHX->Ieval_start)
 #define PL_exitlistlen         (vTHX->Iexitlistlen)
 #define PL_fdpid               (vTHX->Ifdpid)
 #define PL_filemode            (vTHX->Ifilemode)
 #define PL_exitlistlen         (vTHX->Iexitlistlen)
 #define PL_fdpid               (vTHX->Ifdpid)
 #define PL_filemode            (vTHX->Ifilemode)
+#define PL_firstgv             (vTHX->Ifirstgv)
 #define PL_forkprocess         (vTHX->Iforkprocess)
 #define PL_formfeed            (vTHX->Iformfeed)
 #define PL_forkprocess         (vTHX->Iforkprocess)
 #define PL_formfeed            (vTHX->Iformfeed)
+#define PL_formtarget          (vTHX->Iformtarget)
 #define PL_generation          (vTHX->Igeneration)
 #define PL_gensym              (vTHX->Igensym)
 #define PL_gid                 (vTHX->Igid)
 #define PL_generation          (vTHX->Igeneration)
 #define PL_gensym              (vTHX->Igensym)
 #define PL_gid                 (vTHX->Igid)
 #define PL_hash_seed_set       (vTHX->Ihash_seed_set)
 #define PL_hintgv              (vTHX->Ihintgv)
 #define PL_hints               (vTHX->Ihints)
 #define PL_hash_seed_set       (vTHX->Ihash_seed_set)
 #define PL_hintgv              (vTHX->Ihintgv)
 #define PL_hints               (vTHX->Ihints)
+#define PL_hv_fetch_ent_mh     (vTHX->Ihv_fetch_ent_mh)
+#define PL_hv_fetch_sv         (vTHX->Ihv_fetch_sv)
 #define PL_in_clean_all                (vTHX->Iin_clean_all)
 #define PL_in_clean_objs       (vTHX->Iin_clean_objs)
 #define PL_in_clean_all                (vTHX->Iin_clean_all)
 #define PL_in_clean_objs       (vTHX->Iin_clean_objs)
+#define PL_in_eval             (vTHX->Iin_eval)
 #define PL_in_load_module      (vTHX->Iin_load_module)
 #define PL_incgv               (vTHX->Iincgv)
 #define PL_initav              (vTHX->Iinitav)
 #define PL_inplace             (vTHX->Iinplace)
 #define PL_isarev              (vTHX->Iisarev)
 #define PL_known_layers                (vTHX->Iknown_layers)
 #define PL_in_load_module      (vTHX->Iin_load_module)
 #define PL_incgv               (vTHX->Iincgv)
 #define PL_initav              (vTHX->Iinitav)
 #define PL_inplace             (vTHX->Iinplace)
 #define PL_isarev              (vTHX->Iisarev)
 #define PL_known_layers                (vTHX->Iknown_layers)
+#define PL_last_in_gv          (vTHX->Ilast_in_gv)
 #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_lastfd              (vTHX->Ilastfd)
 #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_lastfd              (vTHX->Ilastfd)
+#define PL_lastgotoprobe       (vTHX->Ilastgotoprobe)
+#define PL_lastscream          (vTHX->Ilastscream)
 #define PL_laststatval         (vTHX->Ilaststatval)
 #define PL_laststype           (vTHX->Ilaststype)
 #define PL_lineary             (vTHX->Ilineary)
 #define PL_laststatval         (vTHX->Ilaststatval)
 #define PL_laststype           (vTHX->Ilaststype)
 #define PL_lineary             (vTHX->Ilineary)
+#define PL_localizing          (vTHX->Ilocalizing)
 #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_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_mainstack           (vTHX->Imainstack)
+#define PL_markstack           (vTHX->Imarkstack)
+#define PL_markstack_max       (vTHX->Imarkstack_max)
+#define PL_markstack_ptr       (vTHX->Imarkstack_ptr)
 #define PL_max_intro_pending   (vTHX->Imax_intro_pending)
 #define PL_maxo                        (vTHX->Imaxo)
 #define PL_max_intro_pending   (vTHX->Imax_intro_pending)
 #define PL_maxo                        (vTHX->Imaxo)
+#define PL_maxscream           (vTHX->Imaxscream)
 #define PL_maxsysfd            (vTHX->Imaxsysfd)
 #define PL_memory_debug_header (vTHX->Imemory_debug_header)
 #define PL_mess_sv             (vTHX->Imess_sv)
 #define PL_maxsysfd            (vTHX->Imaxsysfd)
 #define PL_memory_debug_header (vTHX->Imemory_debug_header)
 #define PL_mess_sv             (vTHX->Imess_sv)
 #define PL_minus_l             (vTHX->Iminus_l)
 #define PL_minus_n             (vTHX->Iminus_n)
 #define PL_minus_p             (vTHX->Iminus_p)
 #define PL_minus_l             (vTHX->Iminus_l)
 #define PL_minus_n             (vTHX->Iminus_n)
 #define PL_minus_p             (vTHX->Iminus_p)
+#define PL_modcount            (vTHX->Imodcount)
 #define PL_modglobal           (vTHX->Imodglobal)
 #define PL_multi_end           (vTHX->Imulti_end)
 #define PL_my_cxt_keys         (vTHX->Imy_cxt_keys)
 #define PL_my_cxt_list         (vTHX->Imy_cxt_list)
 #define PL_my_cxt_size         (vTHX->Imy_cxt_size)
 #define PL_modglobal           (vTHX->Imodglobal)
 #define PL_multi_end           (vTHX->Imulti_end)
 #define PL_my_cxt_keys         (vTHX->Imy_cxt_keys)
 #define PL_my_cxt_list         (vTHX->Imy_cxt_list)
 #define PL_my_cxt_size         (vTHX->Imy_cxt_size)
+#define PL_na                  (vTHX->Ina)
 #define PL_nice_chunk          (vTHX->Inice_chunk)
 #define PL_nice_chunk_size     (vTHX->Inice_chunk_size)
 #define PL_nomemok             (vTHX->Inomemok)
 #define PL_nice_chunk          (vTHX->Inice_chunk)
 #define PL_nice_chunk_size     (vTHX->Inice_chunk_size)
 #define PL_nomemok             (vTHX->Inomemok)
 #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_numeric_name                (vTHX->Inumeric_name)
 #define PL_numeric_radix_sv    (vTHX->Inumeric_radix_sv)
 #define PL_numeric_standard    (vTHX->Inumeric_standard)
+#define PL_ofs_sv              (vTHX->Iofs_sv)
 #define PL_oldname             (vTHX->Ioldname)
 #define PL_oldname             (vTHX->Ioldname)
+#define PL_op                  (vTHX->Iop)
 #define PL_op_mask             (vTHX->Iop_mask)
 #define PL_op_mask             (vTHX->Iop_mask)
+#define PL_opsave              (vTHX->Iopsave)
 #define PL_origalen            (vTHX->Iorigalen)
 #define PL_origargc            (vTHX->Iorigargc)
 #define PL_origargv            (vTHX->Iorigargv)
 #define PL_origalen            (vTHX->Iorigalen)
 #define PL_origargc            (vTHX->Iorigargc)
 #define PL_origargv            (vTHX->Iorigargv)
 #define PL_padix_floor         (vTHX->Ipadix_floor)
 #define PL_parser              (vTHX->Iparser)
 #define PL_patchlevel          (vTHX->Ipatchlevel)
 #define PL_padix_floor         (vTHX->Ipadix_floor)
 #define PL_parser              (vTHX->Iparser)
 #define PL_patchlevel          (vTHX->Ipatchlevel)
+#define PL_peepp               (vTHX->Ipeepp)
 #define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
 #define PL_perldb              (vTHX->Iperldb)
 #define PL_perlio              (vTHX->Iperlio)
 #define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
 #define PL_perldb              (vTHX->Iperldb)
 #define PL_perlio              (vTHX->Iperlio)
 #define PL_ptr_table           (vTHX->Iptr_table)
 #define PL_reentrant_buffer    (vTHX->Ireentrant_buffer)
 #define PL_reentrant_retint    (vTHX->Ireentrant_retint)
 #define PL_ptr_table           (vTHX->Iptr_table)
 #define PL_reentrant_buffer    (vTHX->Ireentrant_buffer)
 #define PL_reentrant_retint    (vTHX->Ireentrant_retint)
+#define PL_reg_state           (vTHX->Ireg_state)
+#define PL_regdummy            (vTHX->Iregdummy)
 #define PL_regex_pad           (vTHX->Iregex_pad)
 #define PL_regex_padav         (vTHX->Iregex_padav)
 #define PL_regex_pad           (vTHX->Iregex_pad)
 #define PL_regex_padav         (vTHX->Iregex_padav)
+#define PL_reginterp_cnt       (vTHX->Ireginterp_cnt)
+#define PL_regmatch_slab       (vTHX->Iregmatch_slab)
+#define PL_regmatch_state      (vTHX->Iregmatch_state)
 #define PL_rehash_seed         (vTHX->Irehash_seed)
 #define PL_rehash_seed_set     (vTHX->Irehash_seed_set)
 #define PL_replgv              (vTHX->Ireplgv)
 #define PL_rehash_seed         (vTHX->Irehash_seed)
 #define PL_rehash_seed_set     (vTHX->Irehash_seed_set)
 #define PL_replgv              (vTHX->Ireplgv)
+#define PL_restartop           (vTHX->Irestartop)
+#define PL_rs                  (vTHX->Irs)
 #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_runops              (vTHX->Irunops)
 #define PL_runops_dbg          (vTHX->Irunops_dbg)
 #define PL_runops_std          (vTHX->Irunops_std)
 #define PL_savebegin           (vTHX->Isavebegin)
+#define PL_savestack           (vTHX->Isavestack)
+#define PL_savestack_ix                (vTHX->Isavestack_ix)
+#define PL_savestack_max       (vTHX->Isavestack_max)
 #define PL_sawampersand                (vTHX->Isawampersand)
 #define PL_sawampersand                (vTHX->Isawampersand)
+#define PL_scopestack          (vTHX->Iscopestack)
+#define PL_scopestack_ix       (vTHX->Iscopestack_ix)
+#define PL_scopestack_max      (vTHX->Iscopestack_max)
+#define PL_screamfirst         (vTHX->Iscreamfirst)
+#define PL_screamnext          (vTHX->Iscreamnext)
+#define PL_secondgv            (vTHX->Isecondgv)
 #define PL_sharehook           (vTHX->Isharehook)
 #define PL_sig_pending         (vTHX->Isig_pending)
 #define PL_sighandlerp         (vTHX->Isighandlerp)
 #define PL_sharehook           (vTHX->Isharehook)
 #define PL_sig_pending         (vTHX->Isig_pending)
 #define PL_sighandlerp         (vTHX->Isighandlerp)
 #define PL_slab_count          (vTHX->Islab_count)
 #define PL_slabs               (vTHX->Islabs)
 #define PL_sort_RealCmp                (vTHX->Isort_RealCmp)
 #define PL_slab_count          (vTHX->Islab_count)
 #define PL_slabs               (vTHX->Islabs)
 #define PL_sort_RealCmp                (vTHX->Isort_RealCmp)
+#define PL_sortcop             (vTHX->Isortcop)
+#define PL_sortstash           (vTHX->Isortstash)
 #define PL_splitstr            (vTHX->Isplitstr)
 #define PL_srand_called                (vTHX->Isrand_called)
 #define PL_splitstr            (vTHX->Isplitstr)
 #define PL_srand_called                (vTHX->Isrand_called)
+#define PL_stack_base          (vTHX->Istack_base)
+#define PL_stack_max           (vTHX->Istack_max)
+#define PL_stack_sp            (vTHX->Istack_sp)
+#define PL_start_env           (vTHX->Istart_env)
 #define PL_stashcache          (vTHX->Istashcache)
 #define PL_stashcache          (vTHX->Istashcache)
+#define PL_statbuf             (vTHX->Istatbuf)
+#define PL_statcache           (vTHX->Istatcache)
+#define PL_statgv              (vTHX->Istatgv)
+#define PL_statname            (vTHX->Istatname)
 #define PL_statusvalue         (vTHX->Istatusvalue)
 #define PL_statusvalue_posix   (vTHX->Istatusvalue_posix)
 #define PL_statusvalue_vms     (vTHX->Istatusvalue_vms)
 #define PL_statusvalue         (vTHX->Istatusvalue)
 #define PL_statusvalue_posix   (vTHX->Istatusvalue_posix)
 #define PL_statusvalue_vms     (vTHX->Istatusvalue_vms)
 #define PL_sv_yes              (vTHX->Isv_yes)
 #define PL_sys_intern          (vTHX->Isys_intern)
 #define PL_taint_warn          (vTHX->Itaint_warn)
 #define PL_sv_yes              (vTHX->Isv_yes)
 #define PL_sys_intern          (vTHX->Isys_intern)
 #define PL_taint_warn          (vTHX->Itaint_warn)
+#define PL_tainted             (vTHX->Itainted)
 #define PL_tainting            (vTHX->Itainting)
 #define PL_threadhook          (vTHX->Ithreadhook)
 #define PL_tainting            (vTHX->Itainting)
 #define PL_threadhook          (vTHX->Ithreadhook)
+#define PL_timesbuf            (vTHX->Itimesbuf)
+#define PL_tmps_floor          (vTHX->Itmps_floor)
+#define PL_tmps_ix             (vTHX->Itmps_ix)
+#define PL_tmps_max            (vTHX->Itmps_max)
+#define PL_tmps_stack          (vTHX->Itmps_stack)
 #define PL_tokenbuf            (vTHX->Itokenbuf)
 #define PL_tokenbuf            (vTHX->Itokenbuf)
+#define PL_top_env             (vTHX->Itop_env)
+#define PL_toptarget           (vTHX->Itoptarget)
 #define PL_uid                 (vTHX->Iuid)
 #define PL_unicode             (vTHX->Iunicode)
 #define PL_unitcheckav         (vTHX->Iunitcheckav)
 #define PL_uid                 (vTHX->Iuid)
 #define PL_unicode             (vTHX->Iunicode)
 #define PL_unitcheckav         (vTHX->Iunitcheckav)
 #define PL_utf8cache           (vTHX->Iutf8cache)
 #define PL_utf8locale          (vTHX->Iutf8locale)
 #define PL_warnhook            (vTHX->Iwarnhook)
 #define PL_utf8cache           (vTHX->Iutf8cache)
 #define PL_utf8locale          (vTHX->Iutf8locale)
 #define PL_warnhook            (vTHX->Iwarnhook)
+#define PL_watchaddr           (vTHX->Iwatchaddr)
+#define PL_watchok             (vTHX->Iwatchok)
 #define PL_xmlfp               (vTHX->Ixmlfp)
 
 #else  /* !MULTIPLICITY */
 #define PL_xmlfp               (vTHX->Ixmlfp)
 
 #else  /* !MULTIPLICITY */
 #define PL_IProc               PL_Proc
 #define PL_ISock               PL_Sock
 #define PL_IStdIO              PL_StdIO
 #define PL_IProc               PL_Proc
 #define PL_ISock               PL_Sock
 #define PL_IStdIO              PL_StdIO
+#define PL_ISv                 PL_Sv
+#define PL_IXpv                        PL_Xpv
 #define PL_Iamagic_generation  PL_amagic_generation
 #define PL_Ian                 PL_an
 #define PL_Iargvgv             PL_argvgv
 #define PL_Iargvout_stack      PL_argvout_stack
 #define PL_Iargvoutgv          PL_argvoutgv
 #define PL_Iamagic_generation  PL_amagic_generation
 #define PL_Ian                 PL_an
 #define PL_Iargvgv             PL_argvgv
 #define PL_Iargvout_stack      PL_argvout_stack
 #define PL_Iargvoutgv          PL_argvoutgv
+#define PL_Iav_fetch_sv                PL_av_fetch_sv
 #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_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_Ibodytarget         PL_bodytarget
 #define PL_Icheckav            PL_checkav
 #define PL_Icheckav_save       PL_checkav_save
 #define PL_Icheckav            PL_checkav
 #define PL_Icheckav_save       PL_checkav_save
+#define PL_Ichopset            PL_chopset
 #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_Icollxfrm_base      PL_collxfrm_base
 #define PL_Icollxfrm_mult      PL_collxfrm_mult
 #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_Icollxfrm_base      PL_collxfrm_base
 #define PL_Icollxfrm_mult      PL_collxfrm_mult
+#define PL_Icolors             PL_colors
+#define PL_Icolorset           PL_colorset
 #define PL_Icompcv             PL_compcv
 #define PL_Icompiling          PL_compiling
 #define PL_Icomppad            PL_comppad
 #define PL_Icompcv             PL_compcv
 #define PL_Icompiling          PL_compiling
 #define PL_Icomppad            PL_comppad
 #define PL_Icryptseen          PL_cryptseen
 #define PL_Icshlen             PL_cshlen
 #define PL_Icshname            PL_cshname
 #define PL_Icryptseen          PL_cryptseen
 #define PL_Icshlen             PL_cshlen
 #define PL_Icshname            PL_cshname
+#define PL_Icurcop             PL_curcop
 #define PL_Icurcopdb           PL_curcopdb
 #define PL_Icurcopdb           PL_curcopdb
+#define PL_Icurpad             PL_curpad
+#define PL_Icurpm              PL_curpm
+#define PL_Icurstack           PL_curstack
+#define PL_Icurstackinfo       PL_curstackinfo
+#define PL_Icurstash           PL_curstash
 #define PL_Icurstname          PL_curstname
 #define PL_Icustom_op_descs    PL_custom_op_descs
 #define PL_Icustom_op_names    PL_custom_op_names
 #define PL_Icurstname          PL_curstname
 #define PL_Icustom_op_descs    PL_custom_op_descs
 #define PL_Icustom_op_names    PL_custom_op_names
 #define PL_Idebug_pad          PL_debug_pad
 #define PL_Idef_layerlist      PL_def_layerlist
 #define PL_Idefgv              PL_defgv
 #define PL_Idebug_pad          PL_debug_pad
 #define PL_Idef_layerlist      PL_def_layerlist
 #define PL_Idefgv              PL_defgv
+#define PL_Idefoutgv           PL_defoutgv
+#define PL_Idefstash           PL_defstash
+#define PL_Idelayedisa         PL_delayedisa
+#define PL_Idelaymagic         PL_delaymagic
 #define PL_Idiehook            PL_diehook
 #define PL_Idiehook            PL_diehook
+#define PL_Idirty              PL_dirty
 #define PL_Idoextract          PL_doextract
 #define PL_Idoswitches         PL_doswitches
 #define PL_Idowarn             PL_dowarn
 #define PL_Idumper_fd          PL_dumper_fd
 #define PL_Idoextract          PL_doextract
 #define PL_Idoswitches         PL_doswitches
 #define PL_Idowarn             PL_dowarn
 #define PL_Idumper_fd          PL_dumper_fd
+#define PL_Idumpindent         PL_dumpindent
 #define PL_Ie_script           PL_e_script
 #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_Ienvgv              PL_envgv
 #define PL_Ierrgv              PL_errgv
 #define PL_Ierror_count                PL_error_count
 #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_Ierror_count                PL_error_count
+#define PL_Ierrors             PL_errors
 #define PL_Ieuid               PL_euid
 #define PL_Ieval_root          PL_eval_root
 #define PL_Ieval_start         PL_eval_start
 #define PL_Ieuid               PL_euid
 #define PL_Ieval_root          PL_eval_root
 #define PL_Ieval_start         PL_eval_start
 #define PL_Iexitlistlen                PL_exitlistlen
 #define PL_Ifdpid              PL_fdpid
 #define PL_Ifilemode           PL_filemode
 #define PL_Iexitlistlen                PL_exitlistlen
 #define PL_Ifdpid              PL_fdpid
 #define PL_Ifilemode           PL_filemode
+#define PL_Ifirstgv            PL_firstgv
 #define PL_Iforkprocess                PL_forkprocess
 #define PL_Iformfeed           PL_formfeed
 #define PL_Iforkprocess                PL_forkprocess
 #define PL_Iformfeed           PL_formfeed
+#define PL_Iformtarget         PL_formtarget
 #define PL_Igeneration         PL_generation
 #define PL_Igensym             PL_gensym
 #define PL_Igid                        PL_gid
 #define PL_Igeneration         PL_generation
 #define PL_Igensym             PL_gensym
 #define PL_Igid                        PL_gid
 #define PL_Ihash_seed_set      PL_hash_seed_set
 #define PL_Ihintgv             PL_hintgv
 #define PL_Ihints              PL_hints
 #define PL_Ihash_seed_set      PL_hash_seed_set
 #define PL_Ihintgv             PL_hintgv
 #define PL_Ihints              PL_hints
+#define PL_Ihv_fetch_ent_mh    PL_hv_fetch_ent_mh
+#define PL_Ihv_fetch_sv                PL_hv_fetch_sv
 #define PL_Iin_clean_all       PL_in_clean_all
 #define PL_Iin_clean_objs      PL_in_clean_objs
 #define PL_Iin_clean_all       PL_in_clean_all
 #define PL_Iin_clean_objs      PL_in_clean_objs
+#define PL_Iin_eval            PL_in_eval
 #define PL_Iin_load_module     PL_in_load_module
 #define PL_Iincgv              PL_incgv
 #define PL_Iinitav             PL_initav
 #define PL_Iinplace            PL_inplace
 #define PL_Iisarev             PL_isarev
 #define PL_Iknown_layers       PL_known_layers
 #define PL_Iin_load_module     PL_in_load_module
 #define PL_Iincgv              PL_incgv
 #define PL_Iinitav             PL_initav
 #define PL_Iinplace            PL_inplace
 #define PL_Iisarev             PL_isarev
 #define PL_Iknown_layers       PL_known_layers
+#define PL_Ilast_in_gv         PL_last_in_gv
 #define PL_Ilast_swash_hv      PL_last_swash_hv
 #define PL_Ilast_swash_key     PL_last_swash_key
 #define PL_Ilast_swash_klen    PL_last_swash_klen
 #define PL_Ilast_swash_slen    PL_last_swash_slen
 #define PL_Ilast_swash_tmps    PL_last_swash_tmps
 #define PL_Ilastfd             PL_lastfd
 #define PL_Ilast_swash_hv      PL_last_swash_hv
 #define PL_Ilast_swash_key     PL_last_swash_key
 #define PL_Ilast_swash_klen    PL_last_swash_klen
 #define PL_Ilast_swash_slen    PL_last_swash_slen
 #define PL_Ilast_swash_tmps    PL_last_swash_tmps
 #define PL_Ilastfd             PL_lastfd
+#define PL_Ilastgotoprobe      PL_lastgotoprobe
+#define PL_Ilastscream         PL_lastscream
 #define PL_Ilaststatval                PL_laststatval
 #define PL_Ilaststype          PL_laststype
 #define PL_Ilineary            PL_lineary
 #define PL_Ilaststatval                PL_laststatval
 #define PL_Ilaststype          PL_laststype
 #define PL_Ilineary            PL_lineary
+#define PL_Ilocalizing         PL_localizing
 #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_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_Imainstack          PL_mainstack
+#define PL_Imarkstack          PL_markstack
+#define PL_Imarkstack_max      PL_markstack_max
+#define PL_Imarkstack_ptr      PL_markstack_ptr
 #define PL_Imax_intro_pending  PL_max_intro_pending
 #define PL_Imaxo               PL_maxo
 #define PL_Imax_intro_pending  PL_max_intro_pending
 #define PL_Imaxo               PL_maxo
+#define PL_Imaxscream          PL_maxscream
 #define PL_Imaxsysfd           PL_maxsysfd
 #define PL_Imemory_debug_header        PL_memory_debug_header
 #define PL_Imess_sv            PL_mess_sv
 #define PL_Imaxsysfd           PL_maxsysfd
 #define PL_Imemory_debug_header        PL_memory_debug_header
 #define PL_Imess_sv            PL_mess_sv
 #define PL_Iminus_l            PL_minus_l
 #define PL_Iminus_n            PL_minus_n
 #define PL_Iminus_p            PL_minus_p
 #define PL_Iminus_l            PL_minus_l
 #define PL_Iminus_n            PL_minus_n
 #define PL_Iminus_p            PL_minus_p
+#define PL_Imodcount           PL_modcount
 #define PL_Imodglobal          PL_modglobal
 #define PL_Imulti_end          PL_multi_end
 #define PL_Imy_cxt_keys                PL_my_cxt_keys
 #define PL_Imy_cxt_list                PL_my_cxt_list
 #define PL_Imy_cxt_size                PL_my_cxt_size
 #define PL_Imodglobal          PL_modglobal
 #define PL_Imulti_end          PL_multi_end
 #define PL_Imy_cxt_keys                PL_my_cxt_keys
 #define PL_Imy_cxt_list                PL_my_cxt_list
 #define PL_Imy_cxt_size                PL_my_cxt_size
+#define PL_Ina                 PL_na
 #define PL_Inice_chunk         PL_nice_chunk
 #define PL_Inice_chunk_size    PL_nice_chunk_size
 #define PL_Inomemok            PL_nomemok
 #define PL_Inice_chunk         PL_nice_chunk
 #define PL_Inice_chunk_size    PL_nice_chunk_size
 #define PL_Inomemok            PL_nomemok
 #define PL_Inumeric_name       PL_numeric_name
 #define PL_Inumeric_radix_sv   PL_numeric_radix_sv
 #define PL_Inumeric_standard   PL_numeric_standard
 #define PL_Inumeric_name       PL_numeric_name
 #define PL_Inumeric_radix_sv   PL_numeric_radix_sv
 #define PL_Inumeric_standard   PL_numeric_standard
+#define PL_Iofs_sv             PL_ofs_sv
 #define PL_Ioldname            PL_oldname
 #define PL_Ioldname            PL_oldname
+#define PL_Iop                 PL_op
 #define PL_Iop_mask            PL_op_mask
 #define PL_Iop_mask            PL_op_mask
+#define PL_Iopsave             PL_opsave
 #define PL_Iorigalen           PL_origalen
 #define PL_Iorigargc           PL_origargc
 #define PL_Iorigargv           PL_origargv
 #define PL_Iorigalen           PL_origalen
 #define PL_Iorigargc           PL_origargc
 #define PL_Iorigargv           PL_origargv
 #define PL_Ipadix_floor                PL_padix_floor
 #define PL_Iparser             PL_parser
 #define PL_Ipatchlevel         PL_patchlevel
 #define PL_Ipadix_floor                PL_padix_floor
 #define PL_Iparser             PL_parser
 #define PL_Ipatchlevel         PL_patchlevel
+#define PL_Ipeepp              PL_peepp
 #define PL_Iperl_destruct_level        PL_perl_destruct_level
 #define PL_Iperldb             PL_perldb
 #define PL_Iperlio             PL_perlio
 #define PL_Iperl_destruct_level        PL_perl_destruct_level
 #define PL_Iperldb             PL_perldb
 #define PL_Iperlio             PL_perlio
 #define PL_Iptr_table          PL_ptr_table
 #define PL_Ireentrant_buffer   PL_reentrant_buffer
 #define PL_Ireentrant_retint   PL_reentrant_retint
 #define PL_Iptr_table          PL_ptr_table
 #define PL_Ireentrant_buffer   PL_reentrant_buffer
 #define PL_Ireentrant_retint   PL_reentrant_retint
+#define PL_Ireg_state          PL_reg_state
+#define PL_Iregdummy           PL_regdummy
 #define PL_Iregex_pad          PL_regex_pad
 #define PL_Iregex_padav                PL_regex_padav
 #define PL_Iregex_pad          PL_regex_pad
 #define PL_Iregex_padav                PL_regex_padav
+#define PL_Ireginterp_cnt      PL_reginterp_cnt
+#define PL_Iregmatch_slab      PL_regmatch_slab
+#define PL_Iregmatch_state     PL_regmatch_state
 #define PL_Irehash_seed                PL_rehash_seed
 #define PL_Irehash_seed_set    PL_rehash_seed_set
 #define PL_Ireplgv             PL_replgv
 #define PL_Irehash_seed                PL_rehash_seed
 #define PL_Irehash_seed_set    PL_rehash_seed_set
 #define PL_Ireplgv             PL_replgv
+#define PL_Irestartop          PL_restartop
+#define PL_Irs                 PL_rs
 #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_Irunops             PL_runops
 #define PL_Irunops_dbg         PL_runops_dbg
 #define PL_Irunops_std         PL_runops_std
 #define PL_Isavebegin          PL_savebegin
+#define PL_Isavestack          PL_savestack
+#define PL_Isavestack_ix       PL_savestack_ix
+#define PL_Isavestack_max      PL_savestack_max
 #define PL_Isawampersand       PL_sawampersand
 #define PL_Isawampersand       PL_sawampersand
+#define PL_Iscopestack         PL_scopestack
+#define PL_Iscopestack_ix      PL_scopestack_ix
+#define PL_Iscopestack_max     PL_scopestack_max
+#define PL_Iscreamfirst                PL_screamfirst
+#define PL_Iscreamnext         PL_screamnext
+#define PL_Isecondgv           PL_secondgv
 #define PL_Isharehook          PL_sharehook
 #define PL_Isig_pending                PL_sig_pending
 #define PL_Isighandlerp                PL_sighandlerp
 #define PL_Isharehook          PL_sharehook
 #define PL_Isig_pending                PL_sig_pending
 #define PL_Isighandlerp                PL_sighandlerp
 #define PL_Islab_count         PL_slab_count
 #define PL_Islabs              PL_slabs
 #define PL_Isort_RealCmp       PL_sort_RealCmp
 #define PL_Islab_count         PL_slab_count
 #define PL_Islabs              PL_slabs
 #define PL_Isort_RealCmp       PL_sort_RealCmp
+#define PL_Isortcop            PL_sortcop
+#define PL_Isortstash          PL_sortstash
 #define PL_Isplitstr           PL_splitstr
 #define PL_Isrand_called       PL_srand_called
 #define PL_Isplitstr           PL_splitstr
 #define PL_Isrand_called       PL_srand_called
+#define PL_Istack_base         PL_stack_base
+#define PL_Istack_max          PL_stack_max
+#define PL_Istack_sp           PL_stack_sp
+#define PL_Istart_env          PL_start_env
 #define PL_Istashcache         PL_stashcache
 #define PL_Istashcache         PL_stashcache
+#define PL_Istatbuf            PL_statbuf
+#define PL_Istatcache          PL_statcache
+#define PL_Istatgv             PL_statgv
+#define PL_Istatname           PL_statname
 #define PL_Istatusvalue                PL_statusvalue
 #define PL_Istatusvalue_posix  PL_statusvalue_posix
 #define PL_Istatusvalue_vms    PL_statusvalue_vms
 #define PL_Istatusvalue                PL_statusvalue
 #define PL_Istatusvalue_posix  PL_statusvalue_posix
 #define PL_Istatusvalue_vms    PL_statusvalue_vms
 #define PL_Isv_yes             PL_sv_yes
 #define PL_Isys_intern         PL_sys_intern
 #define PL_Itaint_warn         PL_taint_warn
 #define PL_Isv_yes             PL_sv_yes
 #define PL_Isys_intern         PL_sys_intern
 #define PL_Itaint_warn         PL_taint_warn
+#define PL_Itainted            PL_tainted
 #define PL_Itainting           PL_tainting
 #define PL_Ithreadhook         PL_threadhook
 #define PL_Itainting           PL_tainting
 #define PL_Ithreadhook         PL_threadhook
+#define PL_Itimesbuf           PL_timesbuf
+#define PL_Itmps_floor         PL_tmps_floor
+#define PL_Itmps_ix            PL_tmps_ix
+#define PL_Itmps_max           PL_tmps_max
+#define PL_Itmps_stack         PL_tmps_stack
 #define PL_Itokenbuf           PL_tokenbuf
 #define PL_Itokenbuf           PL_tokenbuf
+#define PL_Itop_env            PL_top_env
+#define PL_Itoptarget          PL_toptarget
 #define PL_Iuid                        PL_uid
 #define PL_Iunicode            PL_unicode
 #define PL_Iunitcheckav                PL_unitcheckav
 #define PL_Iuid                        PL_uid
 #define PL_Iunicode            PL_unicode
 #define PL_Iunitcheckav                PL_unitcheckav
 #define PL_Iutf8cache          PL_utf8cache
 #define PL_Iutf8locale         PL_utf8locale
 #define PL_Iwarnhook           PL_warnhook
 #define PL_Iutf8cache          PL_utf8cache
 #define PL_Iutf8locale         PL_utf8locale
 #define PL_Iwarnhook           PL_warnhook
+#define PL_Iwatchaddr          PL_watchaddr
+#define PL_Iwatchok            PL_watchok
 #define PL_Ixmlfp              PL_xmlfp
 
 #define PL_Ixmlfp              PL_xmlfp
 
-#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_Tchopset            PL_chopset
-#define PL_Tcolors             PL_colors
-#define PL_Tcolorset           PL_colorset
-#define PL_Tcurcop             PL_curcop
-#define PL_Tcurpad             PL_curpad
-#define PL_Tcurpm              PL_curpm
-#define PL_Tcurstack           PL_curstack
-#define PL_Tcurstackinfo       PL_curstackinfo
-#define PL_Tcurstash           PL_curstash
-#define PL_Tdefoutgv           PL_defoutgv
-#define PL_Tdefstash           PL_defstash
-#define PL_Tdelayedisa         PL_delayedisa
-#define PL_Tdelaymagic         PL_delaymagic
-#define PL_Tdirty              PL_dirty
-#define PL_Tdumpindent         PL_dumpindent
-#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_Thv_fetch_sv                PL_hv_fetch_sv
-#define PL_Tin_eval            PL_in_eval
-#define PL_Tlast_in_gv         PL_last_in_gv
-#define PL_Tlastgotoprobe      PL_lastgotoprobe
-#define PL_Tlastscream         PL_lastscream
-#define PL_Tlocalizing         PL_localizing
-#define PL_Tmainstack          PL_mainstack
-#define PL_Tmarkstack          PL_markstack
-#define PL_Tmarkstack_max      PL_markstack_max
-#define PL_Tmarkstack_ptr      PL_markstack_ptr
-#define PL_Tmaxscream          PL_maxscream
-#define PL_Tmodcount           PL_modcount
-#define PL_Tna                 PL_na
-#define PL_Tofs_sv             PL_ofs_sv
-#define PL_Top                 PL_op
-#define PL_Topsave             PL_opsave
-#define PL_Tpeepp              PL_peepp
-#define PL_Treg_state          PL_reg_state
-#define PL_Tregdummy           PL_regdummy
-#define PL_Treginterp_cnt      PL_reginterp_cnt
-#define PL_Tregmatch_slab      PL_regmatch_slab
-#define PL_Tregmatch_state     PL_regmatch_state
-#define PL_Trestartop          PL_restartop
-#define PL_Trs                 PL_rs
-#define PL_Tsavestack          PL_savestack
-#define PL_Tsavestack_ix       PL_savestack_ix
-#define PL_Tsavestack_max      PL_savestack_max
-#define PL_Tscopestack         PL_scopestack
-#define PL_Tscopestack_ix      PL_scopestack_ix
-#define PL_Tscopestack_max     PL_scopestack_max
-#define PL_Tscreamfirst                PL_screamfirst
-#define PL_Tscreamnext         PL_screamnext
-#define PL_Tsecondgv           PL_secondgv
-#define PL_Tsortcop            PL_sortcop
-#define PL_Tsortstash          PL_sortstash
-#define PL_Tstack_base         PL_stack_base
-#define PL_Tstack_max          PL_stack_max
-#define PL_Tstack_sp           PL_stack_sp
-#define PL_Tstart_env          PL_start_env
-#define PL_Tstatbuf            PL_statbuf
-#define PL_Tstatcache          PL_statcache
-#define PL_Tstatgv             PL_statgv
-#define PL_Tstatname           PL_statname
-#define PL_Ttainted            PL_tainted
-#define PL_Ttimesbuf           PL_timesbuf
-#define PL_Ttmps_floor         PL_tmps_floor
-#define PL_Ttmps_ix            PL_tmps_ix
-#define PL_Ttmps_max           PL_tmps_max
-#define PL_Ttmps_stack         PL_tmps_stack
-#define PL_Ttop_env            PL_top_env
-#define PL_Ttoptarget          PL_toptarget
-#define PL_Twatchaddr          PL_watchaddr
-#define PL_Twatchok            PL_watchok
 
 #endif /* MULTIPLICITY */
 
 
 #endif /* MULTIPLICITY */
 
index c5181b4..53c6e67 100644 (file)
@@ -10,7 +10,7 @@
 #
 # !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 # This file is built by embed.pl from data in embed.fnc, embed.pl,
 #
 # !!!!!!!   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.
+# pp.sym, intrpvar.h, and perlvars.h.
 # Any changes made here will be lost!
 #
 # Edit those files and run 'make regen_headers' to effect changes.
 # Any changes made here will be lost!
 #
 # Edit those files and run 'make regen_headers' to effect changes.
index 7b5272d..0eb9fe2 100644 (file)
@@ -1,8 +1,22 @@
-/***********************************************/
-/* Global only to current interpreter instance */
-/***********************************************/
+/*   intrpvar.h 
+ *
+ *    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ *    2006, 2007
+ *    by Larry Wall and others
+ *
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
+ */
+
+/*
+=head1 Per-Interpreter Variables
+*/
+
+/* These variables are per-interpreter in threaded/multiplicity builds,
+ * global otherwise.
 
 
-/* Don't forget to re-run embed.pl to propagate changes! */
+ * Don't forget to re-run embed.pl to propagate changes! */
 
 /* New variables must be added to the very end for binary compatibility.
  * XSUB.h provides wrapper functions via perlapi.h that make this
 
 /* New variables must be added to the very end for binary compatibility.
  * XSUB.h provides wrapper functions via perlapi.h that make this
  * generated when built with or without MULTIPLICITY.  It is also used
  * to generate the appropriate export list for win32.
  *
  * generated when built with or without MULTIPLICITY.  It is also used
  * to generate the appropriate export list for win32.
  *
- * When building without MULTIPLICITY, these variables will be truly global. */
+ * When building without MULTIPLICITY, these variables will be truly global.
+ *
+ * Important ones in the first cache line (if alignment is done right) */
+
+PERLVAR(Istack_sp,     SV **)          /* top of the stack */
+#ifdef OP_IN_REGISTER
+PERLVAR(Iopsave,       OP *)
+#else
+PERLVAR(Iop,           OP *)           /* currently executing op */
+#endif
+PERLVAR(Icurpad,       SV **)          /* active pad (lexicals+tmps) */
+
+PERLVAR(Istack_base,   SV **)
+PERLVAR(Istack_max,    SV **)
+
+PERLVAR(Iscopestack,   I32 *)          /* scopes we've ENTERed */
+PERLVAR(Iscopestack_ix,        I32)
+PERLVAR(Iscopestack_max,I32)
+
+PERLVAR(Isavestack,    ANY *)          /* items that need to be restored when
+                                          LEAVEing scopes we've ENTERed */
+PERLVAR(Isavestack_ix, I32)
+PERLVAR(Isavestack_max,        I32)
+
+PERLVAR(Itmps_stack,   SV **)          /* mortals we've made */
+PERLVARI(Itmps_ix,     I32,    -1)
+PERLVARI(Itmps_floor,  I32,    -1)
+PERLVAR(Itmps_max,     I32)
+PERLVAR(Imodcount,     I32)            /* how much mod()ification in
+                                          assignment? */
+
+PERLVAR(Imarkstack,    I32 *)          /* stack_sp locations we're
+                                          remembering */
+PERLVAR(Imarkstack_ptr,        I32 *)
+PERLVAR(Imarkstack_max,        I32 *)
+
+PERLVAR(ISv,           SV *)           /* used to hold temporary values */
+PERLVAR(IXpv,          XPV *)          /* used to hold temporary values */
+
+/*
+=for apidoc Amn|STRLEN|PL_na
+
+A convenience variable which is typically used with C<SvPV> when one
+doesn't care about the length of the string.  It is usually more efficient
+to either declare a local variable and use that instead or to use the
+C<SvPV_nolen> macro.
+
+=cut
+*/
+
+PERLVAR(Ina,           STRLEN)         /* for use in SvPV when length is
+                                          Not Applicable */
+
+/* stat stuff */
+PERLVAR(Istatbuf,      Stat_t)
+PERLVAR(Istatcache,    Stat_t)         /* _ */
+PERLVAR(Istatgv,       GV *)
+PERLVARI(Istatname,    SV *,   NULL)
+
+#ifdef HAS_TIMES
+PERLVAR(Itimesbuf,     struct tms)
+#endif
+
+/* Fields used by magic variables such as $@, $/ and so on */
+PERLVAR(Icurpm,                PMOP *)         /* what to do \ interps in REs from */
+
+/*
+=for apidoc mn|SV*|PL_rs
+
+The input record separator - C<$/> in Perl space.
+
+=for apidoc mn|GV*|PL_last_in_gv
+
+The GV which was last used for a filehandle input operation. (C<< <FH> >>)
+
+=for apidoc mn|SV*|PL_ofs_sv
+
+The output field separator - C<$,> in Perl space.
+
+=cut
+*/
+
+PERLVAR(Irs,           SV *)           /* input record separator $/ */
+PERLVAR(Ilast_in_gv,   GV *)           /* GV used in last <FH> */
+PERLVAR(Iofs_sv,       SV *)           /* output field separator $, */
+PERLVAR(Idefoutgv,     GV *)           /* default FH for output */
+PERLVARI(Ichopset,     const char *, " \n-")   /* $: */
+PERLVAR(Iformtarget,   SV *)
+PERLVAR(Ibodytarget,   SV *)
+PERLVAR(Itoptarget,    SV *)
+
+/* Stashes */
+PERLVAR(Idefstash,     HV *)           /* main symbol table */
+PERLVAR(Icurstash,     HV *)           /* symbol table for current package */
+
+PERLVAR(Irestartop,    OP *)           /* propagating an error from croak? */
+PERLVAR(Icurcop,       COP * VOL)
+PERLVAR(Icurstack,     AV *)           /* THE STACK */
+PERLVAR(Icurstackinfo, PERL_SI *)      /* current stack + context */
+PERLVAR(Imainstack,    AV *)           /* the stack when nothing funny is
+                                          happening */
+
+PERLVAR(Itop_env,      JMPENV *)       /* ptr to current sigjmp environment */
+PERLVAR(Istart_env,    JMPENV)         /* empty startup sigjmp environment */
+PERLVARI(Ierrors,      SV *,   NULL)   /* outstanding queued errors */
+
+/* statics "owned" by various functions */
+PERLVAR(Iav_fetch_sv,  SV *)           /* unused as of change #19268 */
+PERLVAR(Ihv_fetch_sv,  SV *)           /* unused as of change #19268 */
+PERLVAR(Ihv_fetch_ent_mh, HE*)         /* owned by hv_fetch_ent() */
+
+
+PERLVAR(Ilastgotoprobe,        OP*)            /* from pp_ctl.c */
+
+/* sort stuff */
+PERLVAR(Isortcop,      OP *)           /* user defined sort routine */
+PERLVAR(Isortstash,    HV *)           /* which is in some package or other */
+PERLVAR(Ifirstgv,      GV *)           /* $a */
+PERLVAR(Isecondgv,     GV *)           /* $b */
+
+/* float buffer */
+PERLVAR(Iefloatbuf,    char *)
+PERLVAR(Iefloatsize,   STRLEN)
+
+/* regex stuff */
+
+PERLVAR(Iscreamfirst,  I32 *)
+PERLVAR(Iscreamnext,   I32 *)
+PERLVAR(Ilastscream,   SV *)
+
+PERLVAR(Ireg_state,    struct re_save_state)
+
+PERLVAR(Iregdummy,     regnode)        /* from regcomp.c */
+
+PERLVARI(Idumpindent,  U16,    4)      /* number of blanks per dump
+                                          indentation level */
+
+/* Space for U16 here without increasing the structure size */
+
+PERLVARA(Icolors,6,    char *)         /* from regcomp.c */
+
+PERLVARI(Ipeepp,       peep_t, MEMBER_TO_FPTR(Perl_peep))
+                                       /* Pointer to peephole optimizer */
+
+PERLVARI(Imaxscream,   I32,    -1)
+PERLVARI(Ireginterp_cnt,I32,    0)     /* Whether "Regexp" was interpolated. */
+PERLVARI(Iwatchaddr,   char **, 0)
+PERLVAR(Iwatchok,      char *)
+
+/* the currently active slab in a chain of slabs of regmatch states,
+ * and the currently active state within that slab */
+
+PERLVARI(Iregmatch_slab, regmatch_slab *,      NULL)
+PERLVAR(Iregmatch_state, regmatch_state *)
+
+PERLVARI(Idelayedisa,  HV*,    NULL)   /* stash for PL_delaymagic for magic_setisa */
 
 
+/* Put anything new that is pointer aligned here. */
 
 
-/* For historical reasons this file follows thrdvar.h into the interpeter
-   struct, and that file currently ends with 7 bytes of variables, so putting
-   one last byte here is good for alignment.  */
+PERLVAR(Idelaymagic,   U16)            /* ($<,$>) = ... */
+PERLVAR(Ilocalizing,   U8)             /* are we processing a local() list? */
+PERLVAR(Icolorset,     bool)           /* from regcomp.c */
+PERLVARI(Idirty,       bool, FALSE)    /* in the middle of tearing things
+                                          down? */
+PERLVAR(Iin_eval,      VOL U8)         /* trap "fatal" errors? */
+PERLVAR(Itainted,      bool)           /* using variables controlled by $< */
 
 /* This value may be set when embedding for full cleanup  */
 /* 0=none, 1=full, 2=full with checks */
 
 /* This value may be set when embedding for full cleanup  */
 /* 0=none, 1=full, 2=full with checks */
@@ -54,7 +228,6 @@ PERLVAR(Idoswitches, bool)
 PERLVAR(Iminus_E,      bool)
 
 /*
 PERLVAR(Iminus_E,      bool)
 
 /*
-=head1 Global Variables
 
 =for apidoc mn|bool|PL_dowarn
 
 
 =for apidoc mn|bool|PL_dowarn
 
@@ -102,8 +275,6 @@ PERLVAR(Iargvoutgv, GV *)
 PERLVAR(Iargvout_stack,        AV *)
 
 /* shortcuts to regexp stuff */
 PERLVAR(Iargvout_stack,        AV *)
 
 /* shortcuts to regexp stuff */
-/* this one needs to be moved to thrdvar.h and accessed via
- * find_threadsv() when USE_5005THREADS */
 PERLVAR(Ireplgv,       GV *)
 
 /* shortcuts to misc objects */
 PERLVAR(Ireplgv,       GV *)
 
 /* shortcuts to misc objects */
index 94049ec..9cd963e 100644 (file)
@@ -2832,7 +2832,6 @@ PERL_HDRS = \
        $(PERL_INC)/regnodes.h          \
        $(PERL_INC)/scope.h             \
        $(PERL_INC)/sv.h                \
        $(PERL_INC)/regnodes.h          \
        $(PERL_INC)/scope.h             \
        $(PERL_INC)/sv.h                \
-       $(PERL_INC)/thrdvar.h           \
        $(PERL_INC)/thread.h            \
        $(PERL_INC)/unixish.h           \
        $(PERL_INC)/util.h
        $(PERL_INC)/thread.h            \
        $(PERL_INC)/unixish.h           \
        $(PERL_INC)/util.h
index f21621e..f7e7a8f 100644 (file)
@@ -1279,7 +1279,7 @@ $(OBJECT) : $(PERL_INC)perlsdio.h, $(PERL_INC)perlvars.h
 $(OBJECT) : $(PERL_INC)perly.h, $(PERL_INC)pp.h, $(PERL_INC)pp_proto.h
 $(OBJECT) : $(PERL_INC)proto.h, $(PERL_INC)regcomp.h, $(PERL_INC)regexp.h
 $(OBJECT) : $(PERL_INC)regnodes.h, $(PERL_INC)scope.h, $(PERL_INC)sv.h
 $(OBJECT) : $(PERL_INC)perly.h, $(PERL_INC)pp.h, $(PERL_INC)pp_proto.h
 $(OBJECT) : $(PERL_INC)proto.h, $(PERL_INC)regcomp.h, $(PERL_INC)regexp.h
 $(OBJECT) : $(PERL_INC)regnodes.h, $(PERL_INC)scope.h, $(PERL_INC)sv.h
-$(OBJECT) : $(PERL_INC)thrdvar.h, $(PERL_INC)thread.h
+$(OBJECT) : $(PERL_INC)thread.h
 $(OBJECT) : $(PERL_INC)util.h, $(PERL_INC)vmsish.h
 
 ' if $self->{OBJECT}; 
 $(OBJECT) : $(PERL_INC)util.h, $(PERL_INC)vmsish.h
 
 ' if $self->{OBJECT}; 
index b23cdac..73d04b2 100644 (file)
@@ -6,7 +6,7 @@
 # and by AIX for creating libperl.a when -Dusershrplib is in effect,
 # and by MacOS Classic.
 #
 # and by AIX for creating libperl.a when -Dusershrplib is in effect,
 # and by MacOS Classic.
 #
-# reads global.sym, pp.sym, perlvars.h, intrpvar.h, thrdvar.h, config.h
+# reads global.sym, pp.sym, perlvars.h, intrpvar.h, config.h
 # On OS/2 reads miniperl.map and the previous version of perl5.def as well
 
 BEGIN { unshift @INC, "lib" }
 # On OS/2 reads miniperl.map and the previous version of perl5.def as well
 
 BEGIN { unshift @INC, "lib" }
@@ -72,7 +72,6 @@ my $exportperlmalloc = $PLATFORM eq 'os2';
 
 my $config_sh   = "config.sh";
 my $config_h    = "config.h";
 
 my $config_sh   = "config.sh";
 my $config_h    = "config.h";
-my $thrdvar_h   = "thrdvar.h";
 my $intrpvar_h  = "intrpvar.h";
 my $perlvars_h  = "perlvars.h";
 my $global_sym  = "global.sym";
 my $intrpvar_h  = "intrpvar.h";
 my $perlvars_h  = "perlvars.h";
 my $global_sym  = "global.sym";
@@ -86,13 +85,13 @@ if ($PLATFORM eq 'aix') {
 }
 elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') {
     $CCTYPE = "MSVC" unless defined $CCTYPE;
 }
 elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') {
     $CCTYPE = "MSVC" unless defined $CCTYPE;
-    foreach ($thrdvar_h, $intrpvar_h, $perlvars_h, $global_sym,
+    foreach ($intrpvar_h, $perlvars_h, $global_sym,
             $pp_sym, $globvar_sym, $perlio_sym) {
        s!^!..\\!;
     }
 }
 elsif ($PLATFORM eq 'MacOS') {
             $pp_sym, $globvar_sym, $perlio_sym) {
        s!^!..\\!;
     }
 }
 elsif ($PLATFORM eq 'MacOS') {
-    foreach ($thrdvar_h, $intrpvar_h, $perlvars_h, $global_sym,
+    foreach ($intrpvar_h, $perlvars_h, $global_sym,
             $pp_sym, $globvar_sym, $perlio_sym) {
        s!^!::!;
     }
             $pp_sym, $globvar_sym, $perlio_sym) {
        s!^!::!;
     }
@@ -1158,7 +1157,7 @@ for my $syms (@syms) {
 # variables
 
 if ($define{'MULTIPLICITY'}) {
 # variables
 
 if ($define{'MULTIPLICITY'}) {
-    for my $f ($perlvars_h, $intrpvar_h, $thrdvar_h) {
+    for my $f ($perlvars_h, $intrpvar_h) {
        my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
        emit_symbols $glob;
     }
        my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
        emit_symbols $glob;
     }
@@ -1177,10 +1176,6 @@ else {
        my $glob = readvar($intrpvar_h);
        emit_symbols $glob;
     }
        my $glob = readvar($intrpvar_h);
        emit_symbols $glob;
     }
-    unless ($define{'MULTIPLICITY'}) {
-       my $glob = readvar($thrdvar_h);
-       emit_symbols $glob;
-    }
 }
 
 sub try_symbol {
 }
 
 sub try_symbol {
diff --git a/perl.c b/perl.c
index e6256e2..9234ce6 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -3509,7 +3509,6 @@ S_init_interp(pTHX)
 #    define PERLVARIC(var,type,init)   PERL_GET_INTERP->var = init;
 #  endif
 #  include "intrpvar.h"
 #    define PERLVARIC(var,type,init)   PERL_GET_INTERP->var = init;
 #  endif
 #  include "intrpvar.h"
-#  include "thrdvar.h"
 #  undef PERLVAR
 #  undef PERLVARA
 #  undef PERLVARI
 #  undef PERLVAR
 #  undef PERLVARA
 #  undef PERLVARI
@@ -3520,7 +3519,6 @@ S_init_interp(pTHX)
 #  define PERLVARI(var,type,init)      PL_##var = init;
 #  define PERLVARIC(var,type,init)     PL_##var = init;
 #  include "intrpvar.h"
 #  define PERLVARI(var,type,init)      PL_##var = init;
 #  define PERLVARIC(var,type,init)     PL_##var = init;
 #  include "intrpvar.h"
-#  include "thrdvar.h"
 #  undef PERLVAR
 #  undef PERLVARA
 #  undef PERLVARI
 #  undef PERLVAR
 #  undef PERLVARA
 #  undef PERLVARI
diff --git a/perl.h b/perl.h
index 8cd8753..6dc5ab4 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -4502,7 +4502,6 @@ struct perl_vars *PL_VarsPtr;
 */
 
 struct interpreter {
 */
 
 struct interpreter {
-#  include "thrdvar.h"
 #  include "intrpvar.h"
 };
 
 #  include "intrpvar.h"
 };
 
@@ -4567,7 +4566,6 @@ struct tempsym; /* defined in pp_pack.c */
 #if !defined(MULTIPLICITY)
 START_EXTERN_C
 #  include "intrpvar.h"
 #if !defined(MULTIPLICITY)
 START_EXTERN_C
 #  include "intrpvar.h"
-#  include "thrdvar.h"
 END_EXTERN_C
 #endif
 
 END_EXTERN_C
 #endif
 
index 6dee845..d0bdef6 100644 (file)
--- a/perlapi.c
+++ b/perlapi.c
@@ -10,7 +10,7 @@
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
  *
  * !!!!!!!   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.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
@@ -47,7 +47,6 @@ START_EXTERN_C
 #define PERLVARISC(v,i)        PL_##v##_t* Perl_##v##_ptr(pTHX)                \
                        { dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
 
 #define PERLVARISC(v,i)        PL_##v##_t* Perl_##v##_ptr(pTHX)                \
                        { dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 
 #undef PERLVAR
 #include "intrpvar.h"
 
 #undef PERLVAR
index 9888ed7..9ac642f 100644 (file)
--- a/perlapi.h
+++ b/perlapi.h
@@ -10,7 +10,7 @@
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
  *
  * !!!!!!!   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.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
@@ -37,7 +37,6 @@ START_EXTERN_C
 #define PERLVARISC(v,i)        typedef const char PL_##v##_t[sizeof(i)];       \
                        EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
 
 #define PERLVARISC(v,i)        typedef const char PL_##v##_t[sizeof(i)];       \
                        EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -96,7 +95,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
 #pragma message disable (nonstandcast)
 #endif
 
 #pragma message disable (nonstandcast)
 #endif
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -162,6 +160,10 @@ END_EXTERN_C
 #define PL_Sock                        (*Perl_ISock_ptr(aTHX))
 #undef  PL_StdIO
 #define PL_StdIO               (*Perl_IStdIO_ptr(aTHX))
 #define PL_Sock                        (*Perl_ISock_ptr(aTHX))
 #undef  PL_StdIO
 #define PL_StdIO               (*Perl_IStdIO_ptr(aTHX))
+#undef  PL_Sv
+#define PL_Sv                  (*Perl_ISv_ptr(aTHX))
+#undef  PL_Xpv
+#define PL_Xpv                 (*Perl_IXpv_ptr(aTHX))
 #undef  PL_amagic_generation
 #define PL_amagic_generation   (*Perl_Iamagic_generation_ptr(aTHX))
 #undef  PL_an
 #undef  PL_amagic_generation
 #define PL_amagic_generation   (*Perl_Iamagic_generation_ptr(aTHX))
 #undef  PL_an
@@ -172,6 +174,8 @@ END_EXTERN_C
 #define PL_argvout_stack       (*Perl_Iargvout_stack_ptr(aTHX))
 #undef  PL_argvoutgv
 #define PL_argvoutgv           (*Perl_Iargvoutgv_ptr(aTHX))
 #define PL_argvout_stack       (*Perl_Iargvout_stack_ptr(aTHX))
 #undef  PL_argvoutgv
 #define PL_argvoutgv           (*Perl_Iargvoutgv_ptr(aTHX))
+#undef  PL_av_fetch_sv
+#define PL_av_fetch_sv         (*Perl_Iav_fetch_sv_ptr(aTHX))
 #undef  PL_basetime
 #define PL_basetime            (*Perl_Ibasetime_ptr(aTHX))
 #undef  PL_beginav
 #undef  PL_basetime
 #define PL_basetime            (*Perl_Ibasetime_ptr(aTHX))
 #undef  PL_beginav
@@ -184,10 +188,14 @@ END_EXTERN_C
 #define PL_body_arenas         (*Perl_Ibody_arenas_ptr(aTHX))
 #undef  PL_body_roots
 #define PL_body_roots          (*Perl_Ibody_roots_ptr(aTHX))
 #define PL_body_arenas         (*Perl_Ibody_arenas_ptr(aTHX))
 #undef  PL_body_roots
 #define PL_body_roots          (*Perl_Ibody_roots_ptr(aTHX))
+#undef  PL_bodytarget
+#define PL_bodytarget          (*Perl_Ibodytarget_ptr(aTHX))
 #undef  PL_checkav
 #define PL_checkav             (*Perl_Icheckav_ptr(aTHX))
 #undef  PL_checkav_save
 #define PL_checkav_save                (*Perl_Icheckav_save_ptr(aTHX))
 #undef  PL_checkav
 #define PL_checkav             (*Perl_Icheckav_ptr(aTHX))
 #undef  PL_checkav_save
 #define PL_checkav_save                (*Perl_Icheckav_save_ptr(aTHX))
+#undef  PL_chopset
+#define PL_chopset             (*Perl_Ichopset_ptr(aTHX))
 #undef  PL_clocktick
 #define PL_clocktick           (*Perl_Iclocktick_ptr(aTHX))
 #undef  PL_collation_ix
 #undef  PL_clocktick
 #define PL_clocktick           (*Perl_Iclocktick_ptr(aTHX))
 #undef  PL_collation_ix
@@ -200,6 +208,10 @@ END_EXTERN_C
 #define PL_collxfrm_base       (*Perl_Icollxfrm_base_ptr(aTHX))
 #undef  PL_collxfrm_mult
 #define PL_collxfrm_mult       (*Perl_Icollxfrm_mult_ptr(aTHX))
 #define PL_collxfrm_base       (*Perl_Icollxfrm_base_ptr(aTHX))
 #undef  PL_collxfrm_mult
 #define PL_collxfrm_mult       (*Perl_Icollxfrm_mult_ptr(aTHX))
+#undef  PL_colors
+#define PL_colors              (*Perl_Icolors_ptr(aTHX))
+#undef  PL_colorset
+#define PL_colorset            (*Perl_Icolorset_ptr(aTHX))
 #undef  PL_compcv
 #define PL_compcv              (*Perl_Icompcv_ptr(aTHX))
 #undef  PL_compiling
 #undef  PL_compcv
 #define PL_compcv              (*Perl_Icompcv_ptr(aTHX))
 #undef  PL_compiling
@@ -220,8 +232,20 @@ END_EXTERN_C
 #define PL_cshlen              (*Perl_Icshlen_ptr(aTHX))
 #undef  PL_cshname
 #define PL_cshname             (*Perl_Icshname_ptr(aTHX))
 #define PL_cshlen              (*Perl_Icshlen_ptr(aTHX))
 #undef  PL_cshname
 #define PL_cshname             (*Perl_Icshname_ptr(aTHX))
+#undef  PL_curcop
+#define PL_curcop              (*Perl_Icurcop_ptr(aTHX))
 #undef  PL_curcopdb
 #define PL_curcopdb            (*Perl_Icurcopdb_ptr(aTHX))
 #undef  PL_curcopdb
 #define PL_curcopdb            (*Perl_Icurcopdb_ptr(aTHX))
+#undef  PL_curpad
+#define PL_curpad              (*Perl_Icurpad_ptr(aTHX))
+#undef  PL_curpm
+#define PL_curpm               (*Perl_Icurpm_ptr(aTHX))
+#undef  PL_curstack
+#define PL_curstack            (*Perl_Icurstack_ptr(aTHX))
+#undef  PL_curstackinfo
+#define PL_curstackinfo                (*Perl_Icurstackinfo_ptr(aTHX))
+#undef  PL_curstash
+#define PL_curstash            (*Perl_Icurstash_ptr(aTHX))
 #undef  PL_curstname
 #define PL_curstname           (*Perl_Icurstname_ptr(aTHX))
 #undef  PL_custom_op_descs
 #undef  PL_curstname
 #define PL_curstname           (*Perl_Icurstname_ptr(aTHX))
 #undef  PL_custom_op_descs
@@ -242,8 +266,18 @@ END_EXTERN_C
 #define PL_def_layerlist       (*Perl_Idef_layerlist_ptr(aTHX))
 #undef  PL_defgv
 #define PL_defgv               (*Perl_Idefgv_ptr(aTHX))
 #define PL_def_layerlist       (*Perl_Idef_layerlist_ptr(aTHX))
 #undef  PL_defgv
 #define PL_defgv               (*Perl_Idefgv_ptr(aTHX))
+#undef  PL_defoutgv
+#define PL_defoutgv            (*Perl_Idefoutgv_ptr(aTHX))
+#undef  PL_defstash
+#define PL_defstash            (*Perl_Idefstash_ptr(aTHX))
+#undef  PL_delayedisa
+#define PL_delayedisa          (*Perl_Idelayedisa_ptr(aTHX))
+#undef  PL_delaymagic
+#define PL_delaymagic          (*Perl_Idelaymagic_ptr(aTHX))
 #undef  PL_diehook
 #define PL_diehook             (*Perl_Idiehook_ptr(aTHX))
 #undef  PL_diehook
 #define PL_diehook             (*Perl_Idiehook_ptr(aTHX))
+#undef  PL_dirty
+#define PL_dirty               (*Perl_Idirty_ptr(aTHX))
 #undef  PL_doextract
 #define PL_doextract           (*Perl_Idoextract_ptr(aTHX))
 #undef  PL_doswitches
 #undef  PL_doextract
 #define PL_doextract           (*Perl_Idoextract_ptr(aTHX))
 #undef  PL_doswitches
@@ -252,8 +286,14 @@ END_EXTERN_C
 #define PL_dowarn              (*Perl_Idowarn_ptr(aTHX))
 #undef  PL_dumper_fd
 #define PL_dumper_fd           (*Perl_Idumper_fd_ptr(aTHX))
 #define PL_dowarn              (*Perl_Idowarn_ptr(aTHX))
 #undef  PL_dumper_fd
 #define PL_dumper_fd           (*Perl_Idumper_fd_ptr(aTHX))
+#undef  PL_dumpindent
+#define PL_dumpindent          (*Perl_Idumpindent_ptr(aTHX))
 #undef  PL_e_script
 #define PL_e_script            (*Perl_Ie_script_ptr(aTHX))
 #undef  PL_e_script
 #define PL_e_script            (*Perl_Ie_script_ptr(aTHX))
+#undef  PL_efloatbuf
+#define PL_efloatbuf           (*Perl_Iefloatbuf_ptr(aTHX))
+#undef  PL_efloatsize
+#define PL_efloatsize          (*Perl_Iefloatsize_ptr(aTHX))
 #undef  PL_egid
 #define PL_egid                        (*Perl_Iegid_ptr(aTHX))
 #undef  PL_encoding
 #undef  PL_egid
 #define PL_egid                        (*Perl_Iegid_ptr(aTHX))
 #undef  PL_encoding
@@ -266,6 +306,8 @@ END_EXTERN_C
 #define PL_errgv               (*Perl_Ierrgv_ptr(aTHX))
 #undef  PL_error_count
 #define PL_error_count         (*Perl_Ierror_count_ptr(aTHX))
 #define PL_errgv               (*Perl_Ierrgv_ptr(aTHX))
 #undef  PL_error_count
 #define PL_error_count         (*Perl_Ierror_count_ptr(aTHX))
+#undef  PL_errors
+#define PL_errors              (*Perl_Ierrors_ptr(aTHX))
 #undef  PL_euid
 #define PL_euid                        (*Perl_Ieuid_ptr(aTHX))
 #undef  PL_eval_root
 #undef  PL_euid
 #define PL_euid                        (*Perl_Ieuid_ptr(aTHX))
 #undef  PL_eval_root
@@ -284,10 +326,14 @@ END_EXTERN_C
 #define PL_fdpid               (*Perl_Ifdpid_ptr(aTHX))
 #undef  PL_filemode
 #define PL_filemode            (*Perl_Ifilemode_ptr(aTHX))
 #define PL_fdpid               (*Perl_Ifdpid_ptr(aTHX))
 #undef  PL_filemode
 #define PL_filemode            (*Perl_Ifilemode_ptr(aTHX))
+#undef  PL_firstgv
+#define PL_firstgv             (*Perl_Ifirstgv_ptr(aTHX))
 #undef  PL_forkprocess
 #define PL_forkprocess         (*Perl_Iforkprocess_ptr(aTHX))
 #undef  PL_formfeed
 #define PL_formfeed            (*Perl_Iformfeed_ptr(aTHX))
 #undef  PL_forkprocess
 #define PL_forkprocess         (*Perl_Iforkprocess_ptr(aTHX))
 #undef  PL_formfeed
 #define PL_formfeed            (*Perl_Iformfeed_ptr(aTHX))
+#undef  PL_formtarget
+#define PL_formtarget          (*Perl_Iformtarget_ptr(aTHX))
 #undef  PL_generation
 #define PL_generation          (*Perl_Igeneration_ptr(aTHX))
 #undef  PL_gensym
 #undef  PL_generation
 #define PL_generation          (*Perl_Igeneration_ptr(aTHX))
 #undef  PL_gensym
@@ -306,10 +352,16 @@ END_EXTERN_C
 #define PL_hintgv              (*Perl_Ihintgv_ptr(aTHX))
 #undef  PL_hints
 #define PL_hints               (*Perl_Ihints_ptr(aTHX))
 #define PL_hintgv              (*Perl_Ihintgv_ptr(aTHX))
 #undef  PL_hints
 #define PL_hints               (*Perl_Ihints_ptr(aTHX))
+#undef  PL_hv_fetch_ent_mh
+#define PL_hv_fetch_ent_mh     (*Perl_Ihv_fetch_ent_mh_ptr(aTHX))
+#undef  PL_hv_fetch_sv
+#define PL_hv_fetch_sv         (*Perl_Ihv_fetch_sv_ptr(aTHX))
 #undef  PL_in_clean_all
 #define PL_in_clean_all                (*Perl_Iin_clean_all_ptr(aTHX))
 #undef  PL_in_clean_objs
 #define PL_in_clean_objs       (*Perl_Iin_clean_objs_ptr(aTHX))
 #undef  PL_in_clean_all
 #define PL_in_clean_all                (*Perl_Iin_clean_all_ptr(aTHX))
 #undef  PL_in_clean_objs
 #define PL_in_clean_objs       (*Perl_Iin_clean_objs_ptr(aTHX))
+#undef  PL_in_eval
+#define PL_in_eval             (*Perl_Iin_eval_ptr(aTHX))
 #undef  PL_in_load_module
 #define PL_in_load_module      (*Perl_Iin_load_module_ptr(aTHX))
 #undef  PL_incgv
 #undef  PL_in_load_module
 #define PL_in_load_module      (*Perl_Iin_load_module_ptr(aTHX))
 #undef  PL_incgv
@@ -322,6 +374,8 @@ END_EXTERN_C
 #define PL_isarev              (*Perl_Iisarev_ptr(aTHX))
 #undef  PL_known_layers
 #define PL_known_layers                (*Perl_Iknown_layers_ptr(aTHX))
 #define PL_isarev              (*Perl_Iisarev_ptr(aTHX))
 #undef  PL_known_layers
 #define PL_known_layers                (*Perl_Iknown_layers_ptr(aTHX))
+#undef  PL_last_in_gv
+#define PL_last_in_gv          (*Perl_Ilast_in_gv_ptr(aTHX))
 #undef  PL_last_swash_hv
 #define PL_last_swash_hv       (*Perl_Ilast_swash_hv_ptr(aTHX))
 #undef  PL_last_swash_key
 #undef  PL_last_swash_hv
 #define PL_last_swash_hv       (*Perl_Ilast_swash_hv_ptr(aTHX))
 #undef  PL_last_swash_key
@@ -334,12 +388,18 @@ END_EXTERN_C
 #define PL_last_swash_tmps     (*Perl_Ilast_swash_tmps_ptr(aTHX))
 #undef  PL_lastfd
 #define PL_lastfd              (*Perl_Ilastfd_ptr(aTHX))
 #define PL_last_swash_tmps     (*Perl_Ilast_swash_tmps_ptr(aTHX))
 #undef  PL_lastfd
 #define PL_lastfd              (*Perl_Ilastfd_ptr(aTHX))
+#undef  PL_lastgotoprobe
+#define PL_lastgotoprobe       (*Perl_Ilastgotoprobe_ptr(aTHX))
+#undef  PL_lastscream
+#define PL_lastscream          (*Perl_Ilastscream_ptr(aTHX))
 #undef  PL_laststatval
 #define PL_laststatval         (*Perl_Ilaststatval_ptr(aTHX))
 #undef  PL_laststype
 #define PL_laststype           (*Perl_Ilaststype_ptr(aTHX))
 #undef  PL_lineary
 #define PL_lineary             (*Perl_Ilineary_ptr(aTHX))
 #undef  PL_laststatval
 #define PL_laststatval         (*Perl_Ilaststatval_ptr(aTHX))
 #undef  PL_laststype
 #define PL_laststype           (*Perl_Ilaststype_ptr(aTHX))
 #undef  PL_lineary
 #define PL_lineary             (*Perl_Ilineary_ptr(aTHX))
+#undef  PL_localizing
+#define PL_localizing          (*Perl_Ilocalizing_ptr(aTHX))
 #undef  PL_localpatches
 #define PL_localpatches                (*Perl_Ilocalpatches_ptr(aTHX))
 #undef  PL_lockhook
 #undef  PL_localpatches
 #define PL_localpatches                (*Perl_Ilocalpatches_ptr(aTHX))
 #undef  PL_lockhook
@@ -352,10 +412,20 @@ END_EXTERN_C
 #define PL_main_root           (*Perl_Imain_root_ptr(aTHX))
 #undef  PL_main_start
 #define PL_main_start          (*Perl_Imain_start_ptr(aTHX))
 #define PL_main_root           (*Perl_Imain_root_ptr(aTHX))
 #undef  PL_main_start
 #define PL_main_start          (*Perl_Imain_start_ptr(aTHX))
+#undef  PL_mainstack
+#define PL_mainstack           (*Perl_Imainstack_ptr(aTHX))
+#undef  PL_markstack
+#define PL_markstack           (*Perl_Imarkstack_ptr(aTHX))
+#undef  PL_markstack_max
+#define PL_markstack_max       (*Perl_Imarkstack_max_ptr(aTHX))
+#undef  PL_markstack_ptr
+#define PL_markstack_ptr       (*Perl_Imarkstack_ptr_ptr(aTHX))
 #undef  PL_max_intro_pending
 #define PL_max_intro_pending   (*Perl_Imax_intro_pending_ptr(aTHX))
 #undef  PL_maxo
 #define PL_maxo                        (*Perl_Imaxo_ptr(aTHX))
 #undef  PL_max_intro_pending
 #define PL_max_intro_pending   (*Perl_Imax_intro_pending_ptr(aTHX))
 #undef  PL_maxo
 #define PL_maxo                        (*Perl_Imaxo_ptr(aTHX))
+#undef  PL_maxscream
+#define PL_maxscream           (*Perl_Imaxscream_ptr(aTHX))
 #undef  PL_maxsysfd
 #define PL_maxsysfd            (*Perl_Imaxsysfd_ptr(aTHX))
 #undef  PL_memory_debug_header
 #undef  PL_maxsysfd
 #define PL_maxsysfd            (*Perl_Imaxsysfd_ptr(aTHX))
 #undef  PL_memory_debug_header
@@ -378,6 +448,8 @@ END_EXTERN_C
 #define PL_minus_n             (*Perl_Iminus_n_ptr(aTHX))
 #undef  PL_minus_p
 #define PL_minus_p             (*Perl_Iminus_p_ptr(aTHX))
 #define PL_minus_n             (*Perl_Iminus_n_ptr(aTHX))
 #undef  PL_minus_p
 #define PL_minus_p             (*Perl_Iminus_p_ptr(aTHX))
+#undef  PL_modcount
+#define PL_modcount            (*Perl_Imodcount_ptr(aTHX))
 #undef  PL_modglobal
 #define PL_modglobal           (*Perl_Imodglobal_ptr(aTHX))
 #undef  PL_multi_end
 #undef  PL_modglobal
 #define PL_modglobal           (*Perl_Imodglobal_ptr(aTHX))
 #undef  PL_multi_end
@@ -388,6 +460,8 @@ END_EXTERN_C
 #define PL_my_cxt_list         (*Perl_Imy_cxt_list_ptr(aTHX))
 #undef  PL_my_cxt_size
 #define PL_my_cxt_size         (*Perl_Imy_cxt_size_ptr(aTHX))
 #define PL_my_cxt_list         (*Perl_Imy_cxt_list_ptr(aTHX))
 #undef  PL_my_cxt_size
 #define PL_my_cxt_size         (*Perl_Imy_cxt_size_ptr(aTHX))
+#undef  PL_na
+#define PL_na                  (*Perl_Ina_ptr(aTHX))
 #undef  PL_nice_chunk
 #define PL_nice_chunk          (*Perl_Inice_chunk_ptr(aTHX))
 #undef  PL_nice_chunk_size
 #undef  PL_nice_chunk
 #define PL_nice_chunk          (*Perl_Inice_chunk_ptr(aTHX))
 #undef  PL_nice_chunk_size
@@ -402,10 +476,16 @@ END_EXTERN_C
 #define PL_numeric_radix_sv    (*Perl_Inumeric_radix_sv_ptr(aTHX))
 #undef  PL_numeric_standard
 #define PL_numeric_standard    (*Perl_Inumeric_standard_ptr(aTHX))
 #define PL_numeric_radix_sv    (*Perl_Inumeric_radix_sv_ptr(aTHX))
 #undef  PL_numeric_standard
 #define PL_numeric_standard    (*Perl_Inumeric_standard_ptr(aTHX))
+#undef  PL_ofs_sv
+#define PL_ofs_sv              (*Perl_Iofs_sv_ptr(aTHX))
 #undef  PL_oldname
 #define PL_oldname             (*Perl_Ioldname_ptr(aTHX))
 #undef  PL_oldname
 #define PL_oldname             (*Perl_Ioldname_ptr(aTHX))
+#undef  PL_op
+#define PL_op                  (*Perl_Iop_ptr(aTHX))
 #undef  PL_op_mask
 #define PL_op_mask             (*Perl_Iop_mask_ptr(aTHX))
 #undef  PL_op_mask
 #define PL_op_mask             (*Perl_Iop_mask_ptr(aTHX))
+#undef  PL_opsave
+#define PL_opsave              (*Perl_Iopsave_ptr(aTHX))
 #undef  PL_origalen
 #define PL_origalen            (*Perl_Iorigalen_ptr(aTHX))
 #undef  PL_origargc
 #undef  PL_origalen
 #define PL_origalen            (*Perl_Iorigalen_ptr(aTHX))
 #undef  PL_origargc
@@ -430,6 +510,8 @@ END_EXTERN_C
 #define PL_parser              (*Perl_Iparser_ptr(aTHX))
 #undef  PL_patchlevel
 #define PL_patchlevel          (*Perl_Ipatchlevel_ptr(aTHX))
 #define PL_parser              (*Perl_Iparser_ptr(aTHX))
 #undef  PL_patchlevel
 #define PL_patchlevel          (*Perl_Ipatchlevel_ptr(aTHX))
+#undef  PL_peepp
+#define PL_peepp               (*Perl_Ipeepp_ptr(aTHX))
 #undef  PL_perl_destruct_level
 #define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHX))
 #undef  PL_perldb
 #undef  PL_perl_destruct_level
 #define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHX))
 #undef  PL_perldb
@@ -458,16 +540,30 @@ END_EXTERN_C
 #define PL_reentrant_buffer    (*Perl_Ireentrant_buffer_ptr(aTHX))
 #undef  PL_reentrant_retint
 #define PL_reentrant_retint    (*Perl_Ireentrant_retint_ptr(aTHX))
 #define PL_reentrant_buffer    (*Perl_Ireentrant_buffer_ptr(aTHX))
 #undef  PL_reentrant_retint
 #define PL_reentrant_retint    (*Perl_Ireentrant_retint_ptr(aTHX))
+#undef  PL_reg_state
+#define PL_reg_state           (*Perl_Ireg_state_ptr(aTHX))
+#undef  PL_regdummy
+#define PL_regdummy            (*Perl_Iregdummy_ptr(aTHX))
 #undef  PL_regex_pad
 #define PL_regex_pad           (*Perl_Iregex_pad_ptr(aTHX))
 #undef  PL_regex_padav
 #define PL_regex_padav         (*Perl_Iregex_padav_ptr(aTHX))
 #undef  PL_regex_pad
 #define PL_regex_pad           (*Perl_Iregex_pad_ptr(aTHX))
 #undef  PL_regex_padav
 #define PL_regex_padav         (*Perl_Iregex_padav_ptr(aTHX))
+#undef  PL_reginterp_cnt
+#define PL_reginterp_cnt       (*Perl_Ireginterp_cnt_ptr(aTHX))
+#undef  PL_regmatch_slab
+#define PL_regmatch_slab       (*Perl_Iregmatch_slab_ptr(aTHX))
+#undef  PL_regmatch_state
+#define PL_regmatch_state      (*Perl_Iregmatch_state_ptr(aTHX))
 #undef  PL_rehash_seed
 #define PL_rehash_seed         (*Perl_Irehash_seed_ptr(aTHX))
 #undef  PL_rehash_seed_set
 #define PL_rehash_seed_set     (*Perl_Irehash_seed_set_ptr(aTHX))
 #undef  PL_replgv
 #define PL_replgv              (*Perl_Ireplgv_ptr(aTHX))
 #undef  PL_rehash_seed
 #define PL_rehash_seed         (*Perl_Irehash_seed_ptr(aTHX))
 #undef  PL_rehash_seed_set
 #define PL_rehash_seed_set     (*Perl_Irehash_seed_set_ptr(aTHX))
 #undef  PL_replgv
 #define PL_replgv              (*Perl_Ireplgv_ptr(aTHX))
+#undef  PL_restartop
+#define PL_restartop           (*Perl_Irestartop_ptr(aTHX))
+#undef  PL_rs
+#define PL_rs                  (*Perl_Irs_ptr(aTHX))
 #undef  PL_runops
 #define PL_runops              (*Perl_Irunops_ptr(aTHX))
 #undef  PL_runops_dbg
 #undef  PL_runops
 #define PL_runops              (*Perl_Irunops_ptr(aTHX))
 #undef  PL_runops_dbg
@@ -476,8 +572,26 @@ END_EXTERN_C
 #define PL_runops_std          (*Perl_Irunops_std_ptr(aTHX))
 #undef  PL_savebegin
 #define PL_savebegin           (*Perl_Isavebegin_ptr(aTHX))
 #define PL_runops_std          (*Perl_Irunops_std_ptr(aTHX))
 #undef  PL_savebegin
 #define PL_savebegin           (*Perl_Isavebegin_ptr(aTHX))
+#undef  PL_savestack
+#define PL_savestack           (*Perl_Isavestack_ptr(aTHX))
+#undef  PL_savestack_ix
+#define PL_savestack_ix                (*Perl_Isavestack_ix_ptr(aTHX))
+#undef  PL_savestack_max
+#define PL_savestack_max       (*Perl_Isavestack_max_ptr(aTHX))
 #undef  PL_sawampersand
 #define PL_sawampersand                (*Perl_Isawampersand_ptr(aTHX))
 #undef  PL_sawampersand
 #define PL_sawampersand                (*Perl_Isawampersand_ptr(aTHX))
+#undef  PL_scopestack
+#define PL_scopestack          (*Perl_Iscopestack_ptr(aTHX))
+#undef  PL_scopestack_ix
+#define PL_scopestack_ix       (*Perl_Iscopestack_ix_ptr(aTHX))
+#undef  PL_scopestack_max
+#define PL_scopestack_max      (*Perl_Iscopestack_max_ptr(aTHX))
+#undef  PL_screamfirst
+#define PL_screamfirst         (*Perl_Iscreamfirst_ptr(aTHX))
+#undef  PL_screamnext
+#define PL_screamnext          (*Perl_Iscreamnext_ptr(aTHX))
+#undef  PL_secondgv
+#define PL_secondgv            (*Perl_Isecondgv_ptr(aTHX))
 #undef  PL_sharehook
 #define PL_sharehook           (*Perl_Isharehook_ptr(aTHX))
 #undef  PL_sig_pending
 #undef  PL_sharehook
 #define PL_sharehook           (*Perl_Isharehook_ptr(aTHX))
 #undef  PL_sig_pending
@@ -492,12 +606,32 @@ END_EXTERN_C
 #define PL_slabs               (*Perl_Islabs_ptr(aTHX))
 #undef  PL_sort_RealCmp
 #define PL_sort_RealCmp                (*Perl_Isort_RealCmp_ptr(aTHX))
 #define PL_slabs               (*Perl_Islabs_ptr(aTHX))
 #undef  PL_sort_RealCmp
 #define PL_sort_RealCmp                (*Perl_Isort_RealCmp_ptr(aTHX))
+#undef  PL_sortcop
+#define PL_sortcop             (*Perl_Isortcop_ptr(aTHX))
+#undef  PL_sortstash
+#define PL_sortstash           (*Perl_Isortstash_ptr(aTHX))
 #undef  PL_splitstr
 #define PL_splitstr            (*Perl_Isplitstr_ptr(aTHX))
 #undef  PL_srand_called
 #define PL_srand_called                (*Perl_Isrand_called_ptr(aTHX))
 #undef  PL_splitstr
 #define PL_splitstr            (*Perl_Isplitstr_ptr(aTHX))
 #undef  PL_srand_called
 #define PL_srand_called                (*Perl_Isrand_called_ptr(aTHX))
+#undef  PL_stack_base
+#define PL_stack_base          (*Perl_Istack_base_ptr(aTHX))
+#undef  PL_stack_max
+#define PL_stack_max           (*Perl_Istack_max_ptr(aTHX))
+#undef  PL_stack_sp
+#define PL_stack_sp            (*Perl_Istack_sp_ptr(aTHX))
+#undef  PL_start_env
+#define PL_start_env           (*Perl_Istart_env_ptr(aTHX))
 #undef  PL_stashcache
 #define PL_stashcache          (*Perl_Istashcache_ptr(aTHX))
 #undef  PL_stashcache
 #define PL_stashcache          (*Perl_Istashcache_ptr(aTHX))
+#undef  PL_statbuf
+#define PL_statbuf             (*Perl_Istatbuf_ptr(aTHX))
+#undef  PL_statcache
+#define PL_statcache           (*Perl_Istatcache_ptr(aTHX))
+#undef  PL_statgv
+#define PL_statgv              (*Perl_Istatgv_ptr(aTHX))
+#undef  PL_statname
+#define PL_statname            (*Perl_Istatname_ptr(aTHX))
 #undef  PL_statusvalue
 #define PL_statusvalue         (*Perl_Istatusvalue_ptr(aTHX))
 #undef  PL_statusvalue_posix
 #undef  PL_statusvalue
 #define PL_statusvalue         (*Perl_Istatusvalue_ptr(aTHX))
 #undef  PL_statusvalue_posix
@@ -534,12 +668,28 @@ END_EXTERN_C
 #define PL_sys_intern          (*Perl_Isys_intern_ptr(aTHX))
 #undef  PL_taint_warn
 #define PL_taint_warn          (*Perl_Itaint_warn_ptr(aTHX))
 #define PL_sys_intern          (*Perl_Isys_intern_ptr(aTHX))
 #undef  PL_taint_warn
 #define PL_taint_warn          (*Perl_Itaint_warn_ptr(aTHX))
+#undef  PL_tainted
+#define PL_tainted             (*Perl_Itainted_ptr(aTHX))
 #undef  PL_tainting
 #define PL_tainting            (*Perl_Itainting_ptr(aTHX))
 #undef  PL_threadhook
 #define PL_threadhook          (*Perl_Ithreadhook_ptr(aTHX))
 #undef  PL_tainting
 #define PL_tainting            (*Perl_Itainting_ptr(aTHX))
 #undef  PL_threadhook
 #define PL_threadhook          (*Perl_Ithreadhook_ptr(aTHX))
+#undef  PL_timesbuf
+#define PL_timesbuf            (*Perl_Itimesbuf_ptr(aTHX))
+#undef  PL_tmps_floor
+#define PL_tmps_floor          (*Perl_Itmps_floor_ptr(aTHX))
+#undef  PL_tmps_ix
+#define PL_tmps_ix             (*Perl_Itmps_ix_ptr(aTHX))
+#undef  PL_tmps_max
+#define PL_tmps_max            (*Perl_Itmps_max_ptr(aTHX))
+#undef  PL_tmps_stack
+#define PL_tmps_stack          (*Perl_Itmps_stack_ptr(aTHX))
 #undef  PL_tokenbuf
 #define PL_tokenbuf            (*Perl_Itokenbuf_ptr(aTHX))
 #undef  PL_tokenbuf
 #define PL_tokenbuf            (*Perl_Itokenbuf_ptr(aTHX))
+#undef  PL_top_env
+#define PL_top_env             (*Perl_Itop_env_ptr(aTHX))
+#undef  PL_toptarget
+#define PL_toptarget           (*Perl_Itoptarget_ptr(aTHX))
 #undef  PL_uid
 #define PL_uid                 (*Perl_Iuid_ptr(aTHX))
 #undef  PL_unicode
 #undef  PL_uid
 #define PL_uid                 (*Perl_Iuid_ptr(aTHX))
 #undef  PL_unicode
@@ -598,164 +748,12 @@ END_EXTERN_C
 #define PL_utf8locale          (*Perl_Iutf8locale_ptr(aTHX))
 #undef  PL_warnhook
 #define PL_warnhook            (*Perl_Iwarnhook_ptr(aTHX))
 #define PL_utf8locale          (*Perl_Iutf8locale_ptr(aTHX))
 #undef  PL_warnhook
 #define PL_warnhook            (*Perl_Iwarnhook_ptr(aTHX))
-#undef  PL_xmlfp
-#define PL_xmlfp               (*Perl_Ixmlfp_ptr(aTHX))
-#undef  PL_Sv
-#define PL_Sv                  (*Perl_TSv_ptr(aTHX))
-#undef  PL_Xpv
-#define PL_Xpv                 (*Perl_TXpv_ptr(aTHX))
-#undef  PL_av_fetch_sv
-#define PL_av_fetch_sv         (*Perl_Tav_fetch_sv_ptr(aTHX))
-#undef  PL_bodytarget
-#define PL_bodytarget          (*Perl_Tbodytarget_ptr(aTHX))
-#undef  PL_chopset
-#define PL_chopset             (*Perl_Tchopset_ptr(aTHX))
-#undef  PL_colors
-#define PL_colors              (*Perl_Tcolors_ptr(aTHX))
-#undef  PL_colorset
-#define PL_colorset            (*Perl_Tcolorset_ptr(aTHX))
-#undef  PL_curcop
-#define PL_curcop              (*Perl_Tcurcop_ptr(aTHX))
-#undef  PL_curpad
-#define PL_curpad              (*Perl_Tcurpad_ptr(aTHX))
-#undef  PL_curpm
-#define PL_curpm               (*Perl_Tcurpm_ptr(aTHX))
-#undef  PL_curstack
-#define PL_curstack            (*Perl_Tcurstack_ptr(aTHX))
-#undef  PL_curstackinfo
-#define PL_curstackinfo                (*Perl_Tcurstackinfo_ptr(aTHX))
-#undef  PL_curstash
-#define PL_curstash            (*Perl_Tcurstash_ptr(aTHX))
-#undef  PL_defoutgv
-#define PL_defoutgv            (*Perl_Tdefoutgv_ptr(aTHX))
-#undef  PL_defstash
-#define PL_defstash            (*Perl_Tdefstash_ptr(aTHX))
-#undef  PL_delayedisa
-#define PL_delayedisa          (*Perl_Tdelayedisa_ptr(aTHX))
-#undef  PL_delaymagic
-#define PL_delaymagic          (*Perl_Tdelaymagic_ptr(aTHX))
-#undef  PL_dirty
-#define PL_dirty               (*Perl_Tdirty_ptr(aTHX))
-#undef  PL_dumpindent
-#define PL_dumpindent          (*Perl_Tdumpindent_ptr(aTHX))
-#undef  PL_efloatbuf
-#define PL_efloatbuf           (*Perl_Tefloatbuf_ptr(aTHX))
-#undef  PL_efloatsize
-#define PL_efloatsize          (*Perl_Tefloatsize_ptr(aTHX))
-#undef  PL_errors
-#define PL_errors              (*Perl_Terrors_ptr(aTHX))
-#undef  PL_firstgv
-#define PL_firstgv             (*Perl_Tfirstgv_ptr(aTHX))
-#undef  PL_formtarget
-#define PL_formtarget          (*Perl_Tformtarget_ptr(aTHX))
-#undef  PL_hv_fetch_ent_mh
-#define PL_hv_fetch_ent_mh     (*Perl_Thv_fetch_ent_mh_ptr(aTHX))
-#undef  PL_hv_fetch_sv
-#define PL_hv_fetch_sv         (*Perl_Thv_fetch_sv_ptr(aTHX))
-#undef  PL_in_eval
-#define PL_in_eval             (*Perl_Tin_eval_ptr(aTHX))
-#undef  PL_last_in_gv
-#define PL_last_in_gv          (*Perl_Tlast_in_gv_ptr(aTHX))
-#undef  PL_lastgotoprobe
-#define PL_lastgotoprobe       (*Perl_Tlastgotoprobe_ptr(aTHX))
-#undef  PL_lastscream
-#define PL_lastscream          (*Perl_Tlastscream_ptr(aTHX))
-#undef  PL_localizing
-#define PL_localizing          (*Perl_Tlocalizing_ptr(aTHX))
-#undef  PL_mainstack
-#define PL_mainstack           (*Perl_Tmainstack_ptr(aTHX))
-#undef  PL_markstack
-#define PL_markstack           (*Perl_Tmarkstack_ptr(aTHX))
-#undef  PL_markstack_max
-#define PL_markstack_max       (*Perl_Tmarkstack_max_ptr(aTHX))
-#undef  PL_markstack_ptr
-#define PL_markstack_ptr       (*Perl_Tmarkstack_ptr_ptr(aTHX))
-#undef  PL_maxscream
-#define PL_maxscream           (*Perl_Tmaxscream_ptr(aTHX))
-#undef  PL_modcount
-#define PL_modcount            (*Perl_Tmodcount_ptr(aTHX))
-#undef  PL_na
-#define PL_na                  (*Perl_Tna_ptr(aTHX))
-#undef  PL_ofs_sv
-#define PL_ofs_sv              (*Perl_Tofs_sv_ptr(aTHX))
-#undef  PL_op
-#define PL_op                  (*Perl_Top_ptr(aTHX))
-#undef  PL_opsave
-#define PL_opsave              (*Perl_Topsave_ptr(aTHX))
-#undef  PL_peepp
-#define PL_peepp               (*Perl_Tpeepp_ptr(aTHX))
-#undef  PL_reg_state
-#define PL_reg_state           (*Perl_Treg_state_ptr(aTHX))
-#undef  PL_regdummy
-#define PL_regdummy            (*Perl_Tregdummy_ptr(aTHX))
-#undef  PL_reginterp_cnt
-#define PL_reginterp_cnt       (*Perl_Treginterp_cnt_ptr(aTHX))
-#undef  PL_regmatch_slab
-#define PL_regmatch_slab       (*Perl_Tregmatch_slab_ptr(aTHX))
-#undef  PL_regmatch_state
-#define PL_regmatch_state      (*Perl_Tregmatch_state_ptr(aTHX))
-#undef  PL_restartop
-#define PL_restartop           (*Perl_Trestartop_ptr(aTHX))
-#undef  PL_rs
-#define PL_rs                  (*Perl_Trs_ptr(aTHX))
-#undef  PL_savestack
-#define PL_savestack           (*Perl_Tsavestack_ptr(aTHX))
-#undef  PL_savestack_ix
-#define PL_savestack_ix                (*Perl_Tsavestack_ix_ptr(aTHX))
-#undef  PL_savestack_max
-#define PL_savestack_max       (*Perl_Tsavestack_max_ptr(aTHX))
-#undef  PL_scopestack
-#define PL_scopestack          (*Perl_Tscopestack_ptr(aTHX))
-#undef  PL_scopestack_ix
-#define PL_scopestack_ix       (*Perl_Tscopestack_ix_ptr(aTHX))
-#undef  PL_scopestack_max
-#define PL_scopestack_max      (*Perl_Tscopestack_max_ptr(aTHX))
-#undef  PL_screamfirst
-#define PL_screamfirst         (*Perl_Tscreamfirst_ptr(aTHX))
-#undef  PL_screamnext
-#define PL_screamnext          (*Perl_Tscreamnext_ptr(aTHX))
-#undef  PL_secondgv
-#define PL_secondgv            (*Perl_Tsecondgv_ptr(aTHX))
-#undef  PL_sortcop
-#define PL_sortcop             (*Perl_Tsortcop_ptr(aTHX))
-#undef  PL_sortstash
-#define PL_sortstash           (*Perl_Tsortstash_ptr(aTHX))
-#undef  PL_stack_base
-#define PL_stack_base          (*Perl_Tstack_base_ptr(aTHX))
-#undef  PL_stack_max
-#define PL_stack_max           (*Perl_Tstack_max_ptr(aTHX))
-#undef  PL_stack_sp
-#define PL_stack_sp            (*Perl_Tstack_sp_ptr(aTHX))
-#undef  PL_start_env
-#define PL_start_env           (*Perl_Tstart_env_ptr(aTHX))
-#undef  PL_statbuf
-#define PL_statbuf             (*Perl_Tstatbuf_ptr(aTHX))
-#undef  PL_statcache
-#define PL_statcache           (*Perl_Tstatcache_ptr(aTHX))
-#undef  PL_statgv
-#define PL_statgv              (*Perl_Tstatgv_ptr(aTHX))
-#undef  PL_statname
-#define PL_statname            (*Perl_Tstatname_ptr(aTHX))
-#undef  PL_tainted
-#define PL_tainted             (*Perl_Ttainted_ptr(aTHX))
-#undef  PL_timesbuf
-#define PL_timesbuf            (*Perl_Ttimesbuf_ptr(aTHX))
-#undef  PL_tmps_floor
-#define PL_tmps_floor          (*Perl_Ttmps_floor_ptr(aTHX))
-#undef  PL_tmps_ix
-#define PL_tmps_ix             (*Perl_Ttmps_ix_ptr(aTHX))
-#undef  PL_tmps_max
-#define PL_tmps_max            (*Perl_Ttmps_max_ptr(aTHX))
-#undef  PL_tmps_stack
-#define PL_tmps_stack          (*Perl_Ttmps_stack_ptr(aTHX))
-#undef  PL_top_env
-#define PL_top_env             (*Perl_Ttop_env_ptr(aTHX))
-#undef  PL_toptarget
-#define PL_toptarget           (*Perl_Ttoptarget_ptr(aTHX))
 #undef  PL_watchaddr
 #undef  PL_watchaddr
-#define PL_watchaddr           (*Perl_Twatchaddr_ptr(aTHX))
+#define PL_watchaddr           (*Perl_Iwatchaddr_ptr(aTHX))
 #undef  PL_watchok
 #undef  PL_watchok
-#define PL_watchok             (*Perl_Twatchok_ptr(aTHX))
+#define PL_watchok             (*Perl_Iwatchok_ptr(aTHX))
+#undef  PL_xmlfp
+#define PL_xmlfp               (*Perl_Ixmlfp_ptr(aTHX))
 #undef  PL_No
 #define PL_No                  (*Perl_GNo_ptr(NULL))
 #undef  PL_Yes
 #undef  PL_No
 #define PL_No                  (*Perl_GNo_ptr(NULL))
 #undef  PL_Yes
index 7c0aa88..cd84734 100644 (file)
@@ -1223,72 +1223,6 @@ Found in file pp_pack.c
 
 =back
 
 
 =back
 
-=head1 Global Variables
-
-=over 8
-
-=item PL_modglobal
-X<PL_modglobal>
-
-C<PL_modglobal> is a general purpose, interpreter global HV for use by
-extensions that need to keep information on a per-interpreter basis.
-In a pinch, it can also be used as a symbol table for extensions
-to share data among each other.  It is a good idea to use keys
-prefixed by the package name of the extension that owns the data.
-
-       HV*     PL_modglobal
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_na
-X<PL_na>
-
-A convenience variable which is typically used with C<SvPV> when one
-doesn't care about the length of the string.  It is usually more efficient
-to either declare a local variable and use that instead or to use the
-C<SvPV_nolen> macro.
-
-       STRLEN  PL_na
-
-=for hackers
-Found in file thrdvar.h
-
-=item PL_sv_no
-X<PL_sv_no>
-
-This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
-C<&PL_sv_no>.
-
-       SV      PL_sv_no
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_sv_undef
-X<PL_sv_undef>
-
-This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
-
-       SV      PL_sv_undef
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_sv_yes
-X<PL_sv_yes>
-
-This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
-C<&PL_sv_yes>.
-
-       SV      PL_sv_yes
-
-=for hackers
-Found in file intrpvar.h
-
-
-=back
-
 =head1 GV Functions
 
 =over 8
 =head1 GV Functions
 
 =over 8
@@ -3135,6 +3069,72 @@ Found in file pad.c
 
 =back
 
 
 =back
 
+=head1 Per-Interpreter Variables
+
+=over 8
+
+=item PL_modglobal
+X<PL_modglobal>
+
+C<PL_modglobal> is a general purpose, interpreter global HV for use by
+extensions that need to keep information on a per-interpreter basis.
+In a pinch, it can also be used as a symbol table for extensions
+to share data among each other.  It is a good idea to use keys
+prefixed by the package name of the extension that owns the data.
+
+       HV*     PL_modglobal
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_na
+X<PL_na>
+
+A convenience variable which is typically used with C<SvPV> when one
+doesn't care about the length of the string.  It is usually more efficient
+to either declare a local variable and use that instead or to use the
+C<SvPV_nolen> macro.
+
+       STRLEN  PL_na
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_sv_no
+X<PL_sv_no>
+
+This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
+C<&PL_sv_no>.
+
+       SV      PL_sv_no
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_sv_undef
+X<PL_sv_undef>
+
+This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
+
+       SV      PL_sv_undef
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_sv_yes
+X<PL_sv_yes>
+
+This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
+C<&PL_sv_yes>.
+
+       SV      PL_sv_yes
+
+=for hackers
+Found in file intrpvar.h
+
+
+=back
+
 =head1 Simple Exception Handling Macros
 
 =over 8
 =head1 Simple Exception Handling Macros
 
 =over 8
index 2d0c3a7..73c21c3 100644 (file)
@@ -353,92 +353,6 @@ Found in file pp_ctl.c
 
 =back
 
 
 =back
 
-=head1 Global Variables
-
-=over 8
-
-=item PL_DBsingle
-X<PL_DBsingle>
-
-When Perl is run in debugging mode, with the B<-d> switch, this SV is a
-boolean which indicates whether subs are being single-stepped.
-Single-stepping is automatically turned on after every step.  This is the C
-variable which corresponds to Perl's $DB::single variable.  See
-C<PL_DBsub>.
-
-       SV *    PL_DBsingle
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_DBsub
-X<PL_DBsub>
-
-When Perl is run in debugging mode, with the B<-d> switch, this GV contains
-the SV which holds the name of the sub being debugged.  This is the C
-variable which corresponds to Perl's $DB::sub variable.  See
-C<PL_DBsingle>.
-
-       GV *    PL_DBsub
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_DBtrace
-X<PL_DBtrace>
-
-Trace variable used when Perl is run in debugging mode, with the B<-d>
-switch.  This is the C variable which corresponds to Perl's $DB::trace
-variable.  See C<PL_DBsingle>.
-
-       SV *    PL_DBtrace
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_dowarn
-X<PL_dowarn>
-
-The C variable which corresponds to Perl's $^W warning variable.
-
-       bool    PL_dowarn
-
-=for hackers
-Found in file intrpvar.h
-
-=item PL_last_in_gv
-X<PL_last_in_gv>
-
-The GV which was last used for a filehandle input operation. (C<< <FH> >>)
-
-       GV*     PL_last_in_gv
-
-=for hackers
-Found in file thrdvar.h
-
-=item PL_ofs_sv
-X<PL_ofs_sv>
-
-The output field separator - C<$,> in Perl space.
-
-       SV*     PL_ofs_sv
-
-=for hackers
-Found in file thrdvar.h
-
-=item PL_rs
-X<PL_rs>
-
-The input record separator - C<$/> in Perl space.
-
-       SV*     PL_rs
-
-=for hackers
-Found in file thrdvar.h
-
-
-=back
-
 =head1 GV Functions
 
 =over 8
 =head1 GV Functions
 
 =over 8
@@ -943,6 +857,92 @@ Found in file pad.c
 
 =back
 
 
 =back
 
+=head1 Per-Interpreter Variables
+
+=over 8
+
+=item PL_DBsingle
+X<PL_DBsingle>
+
+When Perl is run in debugging mode, with the B<-d> switch, this SV is a
+boolean which indicates whether subs are being single-stepped.
+Single-stepping is automatically turned on after every step.  This is the C
+variable which corresponds to Perl's $DB::single variable.  See
+C<PL_DBsub>.
+
+       SV *    PL_DBsingle
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_DBsub
+X<PL_DBsub>
+
+When Perl is run in debugging mode, with the B<-d> switch, this GV contains
+the SV which holds the name of the sub being debugged.  This is the C
+variable which corresponds to Perl's $DB::sub variable.  See
+C<PL_DBsingle>.
+
+       GV *    PL_DBsub
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_DBtrace
+X<PL_DBtrace>
+
+Trace variable used when Perl is run in debugging mode, with the B<-d>
+switch.  This is the C variable which corresponds to Perl's $DB::trace
+variable.  See C<PL_DBsingle>.
+
+       SV *    PL_DBtrace
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_dowarn
+X<PL_dowarn>
+
+The C variable which corresponds to Perl's $^W warning variable.
+
+       bool    PL_dowarn
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_last_in_gv
+X<PL_last_in_gv>
+
+The GV which was last used for a filehandle input operation. (C<< <FH> >>)
+
+       GV*     PL_last_in_gv
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_ofs_sv
+X<PL_ofs_sv>
+
+The output field separator - C<$,> in Perl space.
+
+       SV*     PL_ofs_sv
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_rs
+X<PL_rs>
+
+The input record separator - C<$/> in Perl space.
+
+       SV*     PL_rs
+
+=for hackers
+Found in file intrpvar.h
+
+
+=back
+
 =head1 Stack Manipulation Macros
 
 =over 8
 =head1 Stack Manipulation Macros
 
 =over 8
index 88b56b1..6b7a089 100644 (file)
@@ -134,7 +134,7 @@ for example POSIX passes Exporter some very memory hungry data structures.
 There is a script F<embed.pl> that generates several header files to prefix
 all of Perl's symbols in a consistent way, to provide some semblance of
 namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
 There is a script F<embed.pl> that generates several header files to prefix
 all of Perl's symbols in a consistent way, to provide some semblance of
 namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
-in F<interpvar.h> and F<thrdvar.h>. Quite a few of the functions and variables
+in F<interpvar.h>. Quite a few of the functions and variables
 are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
 doesn't understand the C macros, so the rules about which symbols are present
 when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
 are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
 doesn't understand the C macros, so the rules about which symbols are present
 when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
diff --git a/proto.h b/proto.h
index dee615f..6ca37a3 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -10,7 +10,7 @@
  *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by embed.pl from data in embed.fnc, embed.pl,
  *
  * !!!!!!!   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.
+ * pp.sym, intrpvar.h, and perlvars.h.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
  * Any changes made here will be lost!
  *
  * Edit those files and run 'make regen_headers' to effect changes.
diff --git a/sv.c b/sv.c
index bd10280..2be8768 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -10455,9 +10455,9 @@ ANY *
 Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, CLONE_PARAMS* param)
 {
     dVAR;
 Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, CLONE_PARAMS* param)
 {
     dVAR;
-    ANY * const ss     = proto_perl->Tsavestack;
-    const I32 max      = proto_perl->Tsavestack_max;
-    I32 ix             = proto_perl->Tsavestack_ix;
+    ANY * const ss     = proto_perl->Isavestack;
+    const I32 max      = proto_perl->Isavestack_max;
+    I32 ix             = proto_perl->Isavestack_ix;
     ANY *nss;
     SV *sv;
     GV *gv;
     ANY *nss;
     SV *sv;
     GV *gv;
@@ -11013,7 +11013,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        PL_compiling.cop_hints_hash->refcounted_he_refcnt++;
        HINTS_REFCNT_UNLOCK;
     }
        PL_compiling.cop_hints_hash->refcounted_he_refcnt++;
        HINTS_REFCNT_UNLOCK;
     }
-    PL_curcop          = (COP*)any_dup(proto_perl->Tcurcop, proto_perl);
+    PL_curcop          = (COP*)any_dup(proto_perl->Icurcop, proto_perl);
 #ifdef PERL_DEBUG_READONLY_OPS
     PL_slabs = NULL;
     PL_slab_count = 0;
 #ifdef PERL_DEBUG_READONLY_OPS
     PL_slabs = NULL;
     PL_slab_count = 0;
@@ -11137,8 +11137,8 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     PL_dbargs          = av_dup(proto_perl->Idbargs, param);
 
     /* symbol tables */
     PL_dbargs          = av_dup(proto_perl->Idbargs, param);
 
     /* symbol tables */
-    PL_defstash                = hv_dup_inc(proto_perl->Tdefstash, param);
-    PL_curstash                = hv_dup(proto_perl->Tcurstash, param);
+    PL_defstash                = hv_dup_inc(proto_perl->Idefstash, param);
+    PL_curstash                = hv_dup(proto_perl->Icurstash, param);
     PL_debstash                = hv_dup(proto_perl->Idebstash, param);
     PL_globalstash     = hv_dup(proto_perl->Iglobalstash, param);
     PL_curstname       = sv_dup_inc(proto_perl->Icurstname, param);
     PL_debstash                = hv_dup(proto_perl->Idebstash, param);
     PL_globalstash     = hv_dup(proto_perl->Iglobalstash, param);
     PL_curstname       = sv_dup_inc(proto_perl->Icurstname, param);
@@ -11154,7 +11154,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
 
     PL_sub_generation  = proto_perl->Isub_generation;
     PL_isarev          = hv_dup_inc(proto_perl->Iisarev, param);
 
     PL_sub_generation  = proto_perl->Isub_generation;
     PL_isarev          = hv_dup_inc(proto_perl->Iisarev, param);
-    PL_delayedisa      = hv_dup_inc(proto_perl->Tdelayedisa, param);
+    PL_delayedisa      = hv_dup_inc(proto_perl->Idelayedisa, param);
 
     /* funky return mechanisms */
     PL_forkprocess     = proto_perl->Iforkprocess;
 
     /* funky return mechanisms */
     PL_forkprocess     = proto_perl->Iforkprocess;
@@ -11382,54 +11382,54 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        PL_psig_name    = (SV**)NULL;
     }
 
        PL_psig_name    = (SV**)NULL;
     }
 
-    /* thrdvar.h stuff */
+    /* intrpvar.h stuff */
 
     if (flags & CLONEf_COPY_STACKS) {
        /* next allocation will be PL_tmps_stack[PL_tmps_ix+1] */
 
     if (flags & CLONEf_COPY_STACKS) {
        /* next allocation will be PL_tmps_stack[PL_tmps_ix+1] */
-       PL_tmps_ix              = proto_perl->Ttmps_ix;
-       PL_tmps_max             = proto_perl->Ttmps_max;
-       PL_tmps_floor           = proto_perl->Ttmps_floor;
+       PL_tmps_ix              = proto_perl->Itmps_ix;
+       PL_tmps_max             = proto_perl->Itmps_max;
+       PL_tmps_floor           = proto_perl->Itmps_floor;
        Newxz(PL_tmps_stack, PL_tmps_max, SV*);
        i = 0;
        while (i <= PL_tmps_ix) {
        Newxz(PL_tmps_stack, PL_tmps_max, SV*);
        i = 0;
        while (i <= PL_tmps_ix) {
-           PL_tmps_stack[i]    = sv_dup_inc(proto_perl->Ttmps_stack[i], param);
+           PL_tmps_stack[i]    = sv_dup_inc(proto_perl->Itmps_stack[i], param);
            ++i;
        }
 
        /* next PUSHMARK() sets *(PL_markstack_ptr+1) */
            ++i;
        }
 
        /* next PUSHMARK() sets *(PL_markstack_ptr+1) */
-       i = proto_perl->Tmarkstack_max - proto_perl->Tmarkstack;
+       i = proto_perl->Imarkstack_max - proto_perl->Imarkstack;
        Newxz(PL_markstack, i, I32);
        Newxz(PL_markstack, i, I32);
-       PL_markstack_max        = PL_markstack + (proto_perl->Tmarkstack_max
-                                                 - proto_perl->Tmarkstack);
-       PL_markstack_ptr        = PL_markstack + (proto_perl->Tmarkstack_ptr
-                                                 - proto_perl->Tmarkstack);
-       Copy(proto_perl->Tmarkstack, PL_markstack,
+       PL_markstack_max        = PL_markstack + (proto_perl->Imarkstack_max
+                                                 - proto_perl->Imarkstack);
+       PL_markstack_ptr        = PL_markstack + (proto_perl->Imarkstack_ptr
+                                                 - proto_perl->Imarkstack);
+       Copy(proto_perl->Imarkstack, PL_markstack,
             PL_markstack_ptr - PL_markstack + 1, I32);
 
        /* next push_scope()/ENTER sets PL_scopestack[PL_scopestack_ix]
         * NOTE: unlike the others! */
             PL_markstack_ptr - PL_markstack + 1, I32);
 
        /* next push_scope()/ENTER sets PL_scopestack[PL_scopestack_ix]
         * NOTE: unlike the others! */
-       PL_scopestack_ix        = proto_perl->Tscopestack_ix;
-       PL_scopestack_max       = proto_perl->Tscopestack_max;
+       PL_scopestack_ix        = proto_perl->Iscopestack_ix;
+       PL_scopestack_max       = proto_perl->Iscopestack_max;
        Newxz(PL_scopestack, PL_scopestack_max, I32);
        Newxz(PL_scopestack, PL_scopestack_max, I32);
-       Copy(proto_perl->Tscopestack, PL_scopestack, PL_scopestack_ix, I32);
+       Copy(proto_perl->Iscopestack, PL_scopestack, PL_scopestack_ix, I32);
 
        /* NOTE: si_dup() looks at PL_markstack */
 
        /* NOTE: si_dup() looks at PL_markstack */
-       PL_curstackinfo         = si_dup(proto_perl->Tcurstackinfo, param);
+       PL_curstackinfo         = si_dup(proto_perl->Icurstackinfo, param);
 
        /* PL_curstack          = PL_curstackinfo->si_stack; */
 
        /* PL_curstack          = PL_curstackinfo->si_stack; */
-       PL_curstack             = av_dup(proto_perl->Tcurstack, param);
-       PL_mainstack            = av_dup(proto_perl->Tmainstack, param);
+       PL_curstack             = av_dup(proto_perl->Icurstack, param);
+       PL_mainstack            = av_dup(proto_perl->Imainstack, param);
 
        /* next PUSHs() etc. set *(PL_stack_sp+1) */
        PL_stack_base           = AvARRAY(PL_curstack);
 
        /* next PUSHs() etc. set *(PL_stack_sp+1) */
        PL_stack_base           = AvARRAY(PL_curstack);
-       PL_stack_sp             = PL_stack_base + (proto_perl->Tstack_sp
-                                                  - proto_perl->Tstack_base);
+       PL_stack_sp             = PL_stack_base + (proto_perl->Istack_sp
+                                                  - proto_perl->Istack_base);
        PL_stack_max            = PL_stack_base + AvMAX(PL_curstack);
 
        /* next SSPUSHFOO() sets PL_savestack[PL_savestack_ix]
         * NOTE: unlike the others! */
        PL_stack_max            = PL_stack_base + AvMAX(PL_curstack);
 
        /* next SSPUSHFOO() sets PL_savestack[PL_savestack_ix]
         * NOTE: unlike the others! */
-       PL_savestack_ix         = proto_perl->Tsavestack_ix;
-       PL_savestack_max        = proto_perl->Tsavestack_max;
+       PL_savestack_ix         = proto_perl->Isavestack_ix;
+       PL_savestack_max        = proto_perl->Isavestack_max;
        /*Newxz(PL_savestack, PL_savestack_max, ANY);*/
        PL_savestack            = ss_dup(proto_perl, param);
     }
        /*Newxz(PL_savestack, PL_savestack_max, ANY);*/
        PL_savestack            = ss_dup(proto_perl, param);
     }
@@ -11442,9 +11442,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
         * non-refcount means (eg a temp in @_); otherwise they will be
         * orphaned
         */
         * non-refcount means (eg a temp in @_); otherwise they will be
         * orphaned
         */
-       for (i = 0; i<= proto_perl->Ttmps_ix; i++) {
+       for (i = 0; i<= proto_perl->Itmps_ix; i++) {
            SV * const nsv = (SV*)ptr_table_fetch(PL_ptr_table,
            SV * const nsv = (SV*)ptr_table_fetch(PL_ptr_table,
-                   proto_perl->Ttmps_stack[i]);
+                   proto_perl->Itmps_stack[i]);
            if (nsv && !SvREFCNT(nsv)) {
                EXTEND_MORTAL(1);
                PL_tmps_stack[++PL_tmps_ix] = SvREFCNT_inc_simple(nsv);
            if (nsv && !SvREFCNT(nsv)) {
                EXTEND_MORTAL(1);
                PL_tmps_stack[++PL_tmps_ix] = SvREFCNT_inc_simple(nsv);
@@ -11452,50 +11452,50 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        }
     }
 
        }
     }
 
-    PL_start_env       = proto_perl->Tstart_env;       /* XXXXXX */
+    PL_start_env       = proto_perl->Istart_env;       /* XXXXXX */
     PL_top_env         = &PL_start_env;
 
     PL_top_env         = &PL_start_env;
 
-    PL_op              = proto_perl->Top;
+    PL_op              = proto_perl->Iop;
 
     PL_Sv              = NULL;
     PL_Xpv             = (XPV*)NULL;
 
     PL_Sv              = NULL;
     PL_Xpv             = (XPV*)NULL;
-    PL_na              = proto_perl->Tna;
+    PL_na              = proto_perl->Ina;
 
 
-    PL_statbuf         = proto_perl->Tstatbuf;
-    PL_statcache       = proto_perl->Tstatcache;
-    PL_statgv          = gv_dup(proto_perl->Tstatgv, param);
-    PL_statname                = sv_dup_inc(proto_perl->Tstatname, param);
+    PL_statbuf         = proto_perl->Istatbuf;
+    PL_statcache       = proto_perl->Istatcache;
+    PL_statgv          = gv_dup(proto_perl->Istatgv, param);
+    PL_statname                = sv_dup_inc(proto_perl->Istatname, param);
 #ifdef HAS_TIMES
 #ifdef HAS_TIMES
-    PL_timesbuf                = proto_perl->Ttimesbuf;
+    PL_timesbuf                = proto_perl->Itimesbuf;
 #endif
 
 #endif
 
-    PL_tainted         = proto_perl->Ttainted;
-    PL_curpm           = proto_perl->Tcurpm;   /* XXX No PMOP ref count */
-    PL_rs              = sv_dup_inc(proto_perl->Trs, param);
-    PL_last_in_gv      = gv_dup(proto_perl->Tlast_in_gv, param);
-    PL_ofs_sv          = sv_dup_inc(proto_perl->Tofs_sv, param);
-    PL_defoutgv                = gv_dup_inc(proto_perl->Tdefoutgv, param);
-    PL_chopset         = proto_perl->Tchopset; /* XXX never deallocated */
-    PL_toptarget       = sv_dup_inc(proto_perl->Ttoptarget, param);
-    PL_bodytarget      = sv_dup_inc(proto_perl->Tbodytarget, param);
-    PL_formtarget      = sv_dup(proto_perl->Tformtarget, param);
-
-    PL_restartop       = proto_perl->Trestartop;
-    PL_in_eval         = proto_perl->Tin_eval;
-    PL_delaymagic      = proto_perl->Tdelaymagic;
-    PL_dirty           = proto_perl->Tdirty;
-    PL_localizing      = proto_perl->Tlocalizing;
-
-    PL_errors          = sv_dup_inc(proto_perl->Terrors, param);
+    PL_tainted         = proto_perl->Itainted;
+    PL_curpm           = proto_perl->Icurpm;   /* XXX No PMOP ref count */
+    PL_rs              = sv_dup_inc(proto_perl->Irs, param);
+    PL_last_in_gv      = gv_dup(proto_perl->Ilast_in_gv, param);
+    PL_ofs_sv          = sv_dup_inc(proto_perl->Iofs_sv, param);
+    PL_defoutgv                = gv_dup_inc(proto_perl->Idefoutgv, param);
+    PL_chopset         = proto_perl->Ichopset; /* XXX never deallocated */
+    PL_toptarget       = sv_dup_inc(proto_perl->Itoptarget, param);
+    PL_bodytarget      = sv_dup_inc(proto_perl->Ibodytarget, param);
+    PL_formtarget      = sv_dup(proto_perl->Iformtarget, param);
+
+    PL_restartop       = proto_perl->Irestartop;
+    PL_in_eval         = proto_perl->Iin_eval;
+    PL_delaymagic      = proto_perl->Idelaymagic;
+    PL_dirty           = proto_perl->Idirty;
+    PL_localizing      = proto_perl->Ilocalizing;
+
+    PL_errors          = sv_dup_inc(proto_perl->Ierrors, param);
     PL_hv_fetch_ent_mh = NULL;
     PL_hv_fetch_ent_mh = NULL;
-    PL_modcount                = proto_perl->Tmodcount;
+    PL_modcount                = proto_perl->Imodcount;
     PL_lastgotoprobe   = NULL;
     PL_lastgotoprobe   = NULL;
-    PL_dumpindent      = proto_perl->Tdumpindent;
+    PL_dumpindent      = proto_perl->Idumpindent;
 
 
-    PL_sortcop         = (OP*)any_dup(proto_perl->Tsortcop, proto_perl);
-    PL_sortstash       = hv_dup(proto_perl->Tsortstash, param);
-    PL_firstgv         = gv_dup(proto_perl->Tfirstgv, param);
-    PL_secondgv                = gv_dup(proto_perl->Tsecondgv, param);
+    PL_sortcop         = (OP*)any_dup(proto_perl->Isortcop, proto_perl);
+    PL_sortstash       = hv_dup(proto_perl->Isortstash, param);
+    PL_firstgv         = gv_dup(proto_perl->Ifirstgv, param);
+    PL_secondgv                = gv_dup(proto_perl->Isecondgv, param);
     PL_efloatbuf       = NULL;         /* reinits on demand */
     PL_efloatsize      = 0;                    /* reinits on demand */
 
     PL_efloatbuf       = NULL;         /* reinits on demand */
     PL_efloatsize      = 0;                    /* reinits on demand */
 
@@ -11507,24 +11507,24 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     PL_lastscream      = NULL;
 
 
     PL_lastscream      = NULL;
 
 
-    PL_regdummy                = proto_perl->Tregdummy;
+    PL_regdummy                = proto_perl->Iregdummy;
     PL_colorset                = 0;            /* reinits PL_colors[] */
     /*PL_colors[6]     = {0,0,0,0,0,0};*/
 
 
 
     /* Pluggable optimizer */
     PL_colorset                = 0;            /* reinits PL_colors[] */
     /*PL_colors[6]     = {0,0,0,0,0,0};*/
 
 
 
     /* Pluggable optimizer */
-    PL_peepp           = proto_perl->Tpeepp;
+    PL_peepp           = proto_perl->Ipeepp;
 
     PL_stashcache       = newHV();
 
     PL_watchaddr       = (char **) ptr_table_fetch(PL_ptr_table,
 
     PL_stashcache       = newHV();
 
     PL_watchaddr       = (char **) ptr_table_fetch(PL_ptr_table,
-                                           proto_perl->Twatchaddr);
+                                           proto_perl->Iwatchaddr);
     PL_watchok         = PL_watchaddr ? * PL_watchaddr : NULL;
     if (PL_debug && PL_watchaddr) {
        PerlIO_printf(Perl_debug_log,
          "WATCHING: %"UVxf" cloned as %"UVxf" with value %"UVxf"\n",
     PL_watchok         = PL_watchaddr ? * PL_watchaddr : NULL;
     if (PL_debug && PL_watchaddr) {
        PerlIO_printf(Perl_debug_log,
          "WATCHING: %"UVxf" cloned as %"UVxf" with value %"UVxf"\n",
-         PTR2UV(proto_perl->Twatchaddr), PTR2UV(PL_watchaddr),
+         PTR2UV(proto_perl->Iwatchaddr), PTR2UV(PL_watchaddr),
          PTR2UV(PL_watchok));
     }
 
          PTR2UV(PL_watchok));
     }
 
diff --git a/thrdvar.h b/thrdvar.h
deleted file mode 100644 (file)
index d2fb31d..0000000
--- a/thrdvar.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*    thdrvar.h
- *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
- *    by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
-=head1 Global Variables
-*/
-
-/***********************************************/
-/* Global only to current thread               */
-/***********************************************/
-
-/* Don't forget to re-run embed.pl to propagate changes! */
-
-/* The 'T' prefix is only needed for vars that need appropriate #defines
- * generated when built with or without USE_5005THREADS.  It is also used
- * to generate the appropriate export list for win32.
- *
- * When building without USE_5005THREADS, these variables will be truly global.
- * When building without USE_5005THREADS but with MULTIPLICITY, these variables
- * will be global per-interpreter. */
-
-/* Important ones in the first cache line (if alignment is done right) */
-
-PERLVAR(Tstack_sp,     SV **)          /* top of the stack */
-#ifdef OP_IN_REGISTER
-PERLVAR(Topsave,       OP *)
-#else
-PERLVAR(Top,           OP *)           /* currently executing op */
-#endif
-PERLVAR(Tcurpad,       SV **)          /* active pad (lexicals+tmps) */
-
-PERLVAR(Tstack_base,   SV **)
-PERLVAR(Tstack_max,    SV **)
-
-PERLVAR(Tscopestack,   I32 *)          /* scopes we've ENTERed */
-PERLVAR(Tscopestack_ix,        I32)
-PERLVAR(Tscopestack_max,I32)
-
-PERLVAR(Tsavestack,    ANY *)          /* items that need to be restored
-                                          when LEAVEing scopes we've ENTERed */
-PERLVAR(Tsavestack_ix, I32)
-PERLVAR(Tsavestack_max,        I32)
-
-PERLVAR(Ttmps_stack,   SV **)          /* mortals we've made */
-PERLVARI(Ttmps_ix,     I32,    -1)
-PERLVARI(Ttmps_floor,  I32,    -1)
-PERLVAR(Ttmps_max,     I32)
-PERLVAR(Tmodcount,     I32)            /* how much mod()ification in assignment? */
-
-PERLVAR(Tmarkstack,    I32 *)          /* stack_sp locations we're remembering */
-PERLVAR(Tmarkstack_ptr,        I32 *)
-PERLVAR(Tmarkstack_max,        I32 *)
-
-PERLVAR(TSv,           SV *)           /* used to hold temporary values */
-PERLVAR(TXpv,          XPV *)          /* used to hold temporary values */
-
-/*
-=for apidoc Amn|STRLEN|PL_na
-
-A convenience variable which is typically used with C<SvPV> when one
-doesn't care about the length of the string.  It is usually more efficient
-to either declare a local variable and use that instead or to use the
-C<SvPV_nolen> macro.
-
-=cut
-*/
-
-PERLVAR(Tna,           STRLEN)         /* for use in SvPV when length is
-                                          Not Applicable */
-
-/* stat stuff */
-PERLVAR(Tstatbuf,      Stat_t)
-PERLVAR(Tstatcache,    Stat_t)         /* _ */
-PERLVAR(Tstatgv,       GV *)
-PERLVARI(Tstatname,    SV *,   NULL)
-
-#ifdef HAS_TIMES
-PERLVAR(Ttimesbuf,     struct tms)
-#endif
-
-/* Fields used by magic variables such as $@, $/ and so on */
-PERLVAR(Tcurpm,                PMOP *)         /* what to do \ interps in REs from */
-
-/*
-=for apidoc mn|SV*|PL_rs
-
-The input record separator - C<$/> in Perl space.
-
-=for apidoc mn|GV*|PL_last_in_gv
-
-The GV which was last used for a filehandle input operation. (C<< <FH> >>)
-
-=for apidoc mn|SV*|PL_ofs_sv
-
-The output field separator - C<$,> in Perl space.
-
-=cut
-*/
-
-PERLVAR(Trs,           SV *)           /* input record separator $/ */
-PERLVAR(Tlast_in_gv,   GV *)           /* GV used in last <FH> */
-PERLVAR(Tofs_sv,       SV *)           /* output field separator $, */
-PERLVAR(Tdefoutgv,     GV *)           /* default FH for output */
-PERLVARI(Tchopset,     const char *,   " \n-") /* $: */
-PERLVAR(Tformtarget,   SV *)
-PERLVAR(Tbodytarget,   SV *)
-PERLVAR(Ttoptarget,    SV *)
-
-/* Stashes */
-PERLVAR(Tdefstash,     HV *)           /* main symbol table */
-PERLVAR(Tcurstash,     HV *)           /* symbol table for current package */
-
-PERLVAR(Trestartop,    OP *)           /* propagating an error from croak? */
-PERLVARI(Tcurcop,      COP * VOL,      &PL_compiling)
-PERLVAR(Tcurstack,     AV *)           /* THE STACK */
-PERLVAR(Tcurstackinfo, PERL_SI *)      /* current stack + context */
-PERLVAR(Tmainstack,    AV *)           /* the stack when nothing funny is happening */
-
-PERLVAR(Ttop_env,      JMPENV *)       /* ptr. to current sigjmp() environment */
-PERLVAR(Tstart_env,    JMPENV)         /* empty startup sigjmp() environment */
-PERLVARI(Terrors,      SV *, NULL)     /* outstanding queued errors */
-
-/* statics "owned" by various functions */
-PERLVAR(Tav_fetch_sv,  SV *)           /* unused as of change #19268 */
-PERLVAR(Thv_fetch_sv,  SV *)           /* unused as of change #19268 */
-PERLVAR(Thv_fetch_ent_mh, HE*)         /* owned by hv_fetch_ent() */
-
-
-PERLVAR(Tlastgotoprobe,        OP*)            /* from pp_ctl.c */
-
-/* sort stuff */
-PERLVAR(Tsortcop,      OP *)           /* user defined sort routine */
-PERLVAR(Tsortstash,    HV *)           /* which is in some package or other */
-PERLVAR(Tfirstgv,      GV *)           /* $a */
-PERLVAR(Tsecondgv,     GV *)           /* $b */
-
-/* float buffer */
-PERLVAR(Tefloatbuf,    char*)
-PERLVAR(Tefloatsize,   STRLEN)
-
-/* regex stuff */
-
-PERLVAR(Tscreamfirst,  I32 *)
-PERLVAR(Tscreamnext,   I32 *)
-PERLVAR(Tlastscream,   SV *)
-
-PERLVAR(Treg_state,    struct re_save_state)
-
-PERLVAR(Tregdummy,     regnode)        /* from regcomp.c */
-
-PERLVARI(Tdumpindent,  U16, 4)         /* # of blanks per dump indentation level */
-/* Space for U16 here without increasing the structure size */
-
-PERLVARA(Tcolors,6,    char *)         /* from regcomp.c */
-
-PERLVARI(Tpeepp,       peep_t, MEMBER_TO_FPTR(Perl_peep))
-                                       /* Pointer to peephole optimizer */
-
-PERLVARI(Tmaxscream,   I32,    -1)
-PERLVARI(Treginterp_cnt,I32,       0)  /* Whether "Regexp" was interpolated. */
-PERLVARI(Twatchaddr,   char **,    0)
-PERLVAR(Twatchok,      char *)
-
-/* Note that the variables below are all explicitly referenced in the code
- * as thr->whatever and therefore don't need the 'T' prefix. */
-
-/* the currently active slab in a chain of slabs of regmatch states,
- * and the currently active state within that slab */
-
-PERLVARI(Tregmatch_slab,       regmatch_slab *, NULL)
-PERLVAR(Tregmatch_state,       regmatch_state *)
-
-PERLVARI(Tdelayedisa,  HV*, NULL)      /* stash for PL_delaymagic for magic_setisa */
-
-/* Put anything new that is pointer aligned here. */
-
-PERLVAR(Tdelaymagic,   U16)            /* ($<,$>) = ... */
-PERLVAR(Tlocalizing,   U8)             /* are we processing a local() list? */
-PERLVAR(Tcolorset,     bool)           /* from regcomp.c */
-PERLVARI(Tdirty,       bool, FALSE)    /* in the middle of tearing things down? */
-PERLVAR(Tin_eval,      VOL U8) /* trap "fatal" errors? */
-PERLVAR(Ttainted,      bool)           /* using variables controlled by $< */
-
-/* Put new things UP THERE ^^^  */
-
-/* For historical reasons this file is followed by intrpvar.h in the
-   interpreter struct. As this file currently ends with 7 bytes of variables,
-   intrpvar.h starts with one single U8, to avoid structure padding space
-   wastage.  */
index 70f4102..8894c13 100644 (file)
@@ -297,7 +297,7 @@ h1 = EXTERN.h form.h gv.h handy.h hv.h INTERN.h intrpvar.h
 h2 = iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h opnames.h overload.h pad.h
 h3 = parser.h patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
 h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
 h2 = iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h opnames.h overload.h pad.h
 h3 = parser.h patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
 h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
-h5 = sv.h thrdvar.h thread.h utf8.h util.h vmsish.h warnings.h
+h5 = sv.h thread.h utf8.h util.h vmsish.h warnings.h
 h6 = xsub.h $(SOCKH) $(THREADH)
 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
 
 h6 = xsub.h $(SOCKH) $(THREADH)
 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
 
@@ -318,9 +318,9 @@ ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
 .endif
 ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
 .ifdef SOCKARCH
 .endif
 ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
 .ifdef SOCKARCH
-ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
+ac12 = $(ARCHCORE)sv.h $(SOCKARCH)
 .else
 .else
-ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h
+ac12 = $(ARCHCORE)sv.h
 .endif 
 ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
 ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
 .endif 
 ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
 ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
@@ -1574,9 +1574,6 @@ $(ARCHCORE)scope.h : scope.h
 $(ARCHCORE)sv.h : sv.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
 $(ARCHCORE)sv.h : sv.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)thrdvar.h : thrdvar.h
-       @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-       Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
 $(ARCHCORE)thread.h : thread.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
 $(ARCHCORE)thread.h : thread.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
index 8a5dc93..559fd31 100644 (file)
@@ -745,7 +745,6 @@ CORE_NOCFG_H        =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
index 17d333c..c7b5a50 100644 (file)
@@ -651,7 +651,6 @@ CORE_NOCFG_H        =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
index 6b1f38b..80c0ac6 100644 (file)
@@ -914,7 +914,6 @@ CORE_NOCFG_H        =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \