delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell [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
-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
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
 
-SYMH = perlvars.h intrpvar.h thrdvar.h
+SYMH = perlvars.h intrpvar.h
 
 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 \
-       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
index 9e7515f..eb79211 100644 (file)
@@ -782,8 +782,7 @@ CORE_NOCFG_H        =               \
                ..\XSUB.h       \
                ..\EXTERN.h     \
                ..\perlvars.h   \
-               ..\intrpvar.h   \
-               ..\thrdvar.h    
+               ..\intrpvar.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,
- * 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.
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,
-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.
@@ -342,17 +342,12 @@ sub readvars(\%$$@) {
 }
 
 my %intrp;
-my %thread;
 my %globvar;
 
 readvars %intrp,  'intrpvar.h','I';
-readvars %thread, 'thrdvar.h','T';
 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) = @_;
@@ -669,16 +664,6 @@ print EM do_not_edit ("embedvar.h"), <<'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->');
 }
@@ -699,10 +684,6 @@ print EM <<'END';
 
 END
 
-for $sym (sort keys %thread) {
-    print EM multoff($sym,'T');
-}
-
 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);
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -836,7 +816,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
 #pragma message disable (nonstandcast)
 #endif
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -864,10 +843,6 @@ foreach $sym (sort keys %intrp) {
     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);
 }
@@ -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); }
 
-#include "thrdvar.h"
 #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,
- * 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.
 #    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_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_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_bodytarget          (vTHX->Ibodytarget)
 #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_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_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_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_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_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_dumpindent          (vTHX->Idumpindent)
 #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_errors              (vTHX->Ierrors)
 #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_firstgv             (vTHX->Ifirstgv)
 #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_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_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_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_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_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_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_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_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_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_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_op                  (vTHX->Iop)
 #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_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_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_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_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_savestack           (vTHX->Isavestack)
+#define PL_savestack_ix                (vTHX->Isavestack_ix)
+#define PL_savestack_max       (vTHX->Isavestack_max)
 #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_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_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_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_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_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_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_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_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_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_Ibodytarget         PL_bodytarget
 #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_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_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_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_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_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_Idumpindent         PL_dumpindent
 #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_Ierrors             PL_errors
 #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_Ifirstgv            PL_firstgv
 #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_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_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_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_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_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_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_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_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_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_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_Iop                 PL_op
 #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_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_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_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_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_Isavestack          PL_savestack
+#define PL_Isavestack_ix       PL_savestack_ix
+#define PL_Isavestack_max      PL_savestack_max
 #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_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_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_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_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_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_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_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_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 */
 
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,
-# 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.
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
  * 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 */
@@ -54,7 +228,6 @@ PERLVAR(Idoswitches, bool)
 PERLVAR(Iminus_E,      bool)
 
 /*
-=head1 Global Variables
 
 =for apidoc mn|bool|PL_dowarn
 
@@ -102,8 +275,6 @@ PERLVAR(Iargvoutgv, GV *)
 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 */
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)/thrdvar.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)thrdvar.h, $(PERL_INC)thread.h
+$(OBJECT) : $(PERL_INC)thread.h
 $(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.
 #
-# 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" }
@@ -72,7 +72,6 @@ my $exportperlmalloc = $PLATFORM eq 'os2';
 
 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";
@@ -86,13 +85,13 @@ if ($PLATFORM eq 'aix') {
 }
 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') {
-    foreach ($thrdvar_h, $intrpvar_h, $perlvars_h, $global_sym,
+    foreach ($intrpvar_h, $perlvars_h, $global_sym,
             $pp_sym, $globvar_sym, $perlio_sym) {
        s!^!::!;
     }
@@ -1158,7 +1157,7 @@ for my $syms (@syms) {
 # 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;
     }
@@ -1177,10 +1176,6 @@ else {
        my $glob = readvar($intrpvar_h);
        emit_symbols $glob;
     }
-    unless ($define{'MULTIPLICITY'}) {
-       my $glob = readvar($thrdvar_h);
-       emit_symbols $glob;
-    }
 }
 
 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"
-#  include "thrdvar.h"
 #  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"
-#  include "thrdvar.h"
 #  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 {
-#  include "thrdvar.h"
 #  include "intrpvar.h"
 };
 
@@ -4567,7 +4566,6 @@ struct tempsym; /* defined in pp_pack.c */
 #if !defined(MULTIPLICITY)
 START_EXTERN_C
 #  include "intrpvar.h"
-#  include "thrdvar.h"
 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,
- * 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.
@@ -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); }
 
-#include "thrdvar.h"
 #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,
- * 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.
@@ -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);
 
-#include "thrdvar.h"
 #include "intrpvar.h"
 #include "perlvars.h"
 
@@ -96,7 +95,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
 #pragma message disable (nonstandcast)
 #endif
 
-#include "thrdvar.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))
+#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
@@ -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))
+#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
@@ -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))
+#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_chopset
+#define PL_chopset             (*Perl_Ichopset_ptr(aTHX))
 #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))
+#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
@@ -220,8 +232,20 @@ END_EXTERN_C
 #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_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
@@ -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))
+#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_dirty
+#define PL_dirty               (*Perl_Idirty_ptr(aTHX))
 #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))
+#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_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
@@ -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))
+#undef  PL_errors
+#define PL_errors              (*Perl_Ierrors_ptr(aTHX))
 #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))
+#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_formtarget
+#define PL_formtarget          (*Perl_Iformtarget_ptr(aTHX))
 #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))
+#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_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
@@ -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))
+#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
@@ -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))
+#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_localizing
+#define PL_localizing          (*Perl_Ilocalizing_ptr(aTHX))
 #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))
+#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_maxscream
+#define PL_maxscream           (*Perl_Imaxscream_ptr(aTHX))
 #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))
+#undef  PL_modcount
+#define PL_modcount            (*Perl_Imodcount_ptr(aTHX))
 #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))
+#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
@@ -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))
+#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_op
+#define PL_op                  (*Perl_Iop_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
@@ -430,6 +510,8 @@ END_EXTERN_C
 #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
@@ -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))
+#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_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_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
@@ -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))
+#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_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
@@ -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))
+#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_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_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
@@ -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))
+#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_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_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
@@ -598,164 +748,12 @@ END_EXTERN_C
 #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
-#define PL_watchaddr           (*Perl_Twatchaddr_ptr(aTHX))
+#define PL_watchaddr           (*Perl_Iwatchaddr_ptr(aTHX))
 #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
index 7c0aa88..cd84734 100644 (file)
@@ -1223,72 +1223,6 @@ Found in file pp_pack.c
 
 =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
@@ -3135,6 +3069,72 @@ Found in file pad.c
 
 =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
index 2d0c3a7..73c21c3 100644 (file)
@@ -353,92 +353,6 @@ Found in file pp_ctl.c
 
 =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
@@ -943,6 +857,92 @@ Found in file pad.c
 
 =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
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
-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.
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,
- * 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.
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;
-    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;
@@ -11013,7 +11013,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        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;
@@ -11137,8 +11137,8 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     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);
@@ -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_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;
@@ -11382,54 +11382,54 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        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] */
-       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) {
-           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 = proto_perl->Tmarkstack_max - proto_perl->Tmarkstack;
+       i = proto_perl->Imarkstack_max - proto_perl->Imarkstack;
        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_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);
-       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 */
-       PL_curstackinfo         = si_dup(proto_perl->Tcurstackinfo, param);
+       PL_curstackinfo         = si_dup(proto_perl->Icurstackinfo, param);
 
        /* 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);
-       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_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);
     }
@@ -11442,9 +11442,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
         * 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,
-                   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);
@@ -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_op              = proto_perl->Top;
+    PL_op              = proto_perl->Iop;
 
     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
-    PL_timesbuf                = proto_perl->Ttimesbuf;
+    PL_timesbuf                = proto_perl->Itimesbuf;
 #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_modcount                = proto_perl->Tmodcount;
+    PL_modcount                = proto_perl->Imodcount;
     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 */
 
@@ -11507,24 +11507,24 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     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_peepp           = proto_perl->Tpeepp;
+    PL_peepp           = proto_perl->Ipeepp;
 
     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",
-         PTR2UV(proto_perl->Twatchaddr), PTR2UV(PL_watchaddr),
+         PTR2UV(proto_perl->Iwatchaddr), PTR2UV(PL_watchaddr),
          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
-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)
 
@@ -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
-ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
+ac12 = $(ARCHCORE)sv.h $(SOCKARCH)
 .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
@@ -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)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)
index 8a5dc93..559fd31 100644 (file)
@@ -745,7 +745,6 @@ CORE_NOCFG_H        =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.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   \
-               ..\thrdvar.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   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \