summaryrefslogtreecommitdiff
path: root/thrdvar.h
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>1997-11-30 20:00:19 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>1997-11-30 20:00:19 +0000
commitd4cce5f1785350c29a181d4bbaaa3141c6fdbe1e (patch)
tree31d1c1ad53b77dd43bd3cc61ebf29d225e620e94 /thrdvar.h
parent49f531dad558d800dbb0a247178a2e50ad834fae (diff)
downloadperl-d4cce5f1785350c29a181d4bbaaa3141c6fdbe1e.tar.gz
embed.pl now reads *var*.h to do its stuff.
Split generated embed.h into two - new embedvar.h is #included when 'op' etc. will not mess up proto.h etc. Removed #define foo (thr->Tfoo) from thread.h Added some 'missing' symbols to global.sym, removed those in the *var*.h files Has build all MULTIPLICITY/USE_THREADS options on win32 with VC++ (and passed tests), but not with exactly this set of files. p4raw-id: //depot/ansiperl@338
Diffstat (limited to 'thrdvar.h')
-rw-r--r--thrdvar.h59
1 files changed, 31 insertions, 28 deletions
diff --git a/thrdvar.h b/thrdvar.h
index 8f61950416..4c698368a4 100644
--- a/thrdvar.h
+++ b/thrdvar.h
@@ -1,5 +1,6 @@
/* Per-thread variables */
/* Important ones in the first cache line (if alignment is done right) */
+
PERLVAR(Tstack_sp, SV **)
#ifdef OP_IN_REGISTER
PERLVAR(Topsave, OP *)
@@ -7,8 +8,8 @@ PERLVAR(Topsave, OP *)
PERLVAR(Top, OP *)
#endif
PERLVAR(Tcurpad, SV **)
-PERLVAR(Tstack_base, SV **)
+PERLVAR(Tstack_base, SV **)
PERLVAR(Tstack_max, SV **)
PERLVAR(Tscopestack, I32 *)
@@ -27,58 +28,59 @@ PERLVAR(Tmarkstack, I32 *)
PERLVAR(Tmarkstack_ptr, I32 *)
PERLVAR(Tmarkstack_max, I32 *)
-PERLVAR(TSv, SV *)
-PERLVAR(TXpv, XPV *)
+PERLVAR(TSv, SV *)
+PERLVAR(TXpv, XPV *)
PERLVAR(Tstatbuf, struct stat)
#ifdef HAS_TIMES
PERLVAR(Ttimesbuf, struct tms)
#endif
-/* XXX What about regexp stuff? */
-
/* Now the fields that used to be "per interpreter" (even when global) */
/* Fields used by magic variables such as $@, $/ and so on */
-PERLVAR(Ttainted, bool)
-PERLVAR(Tcurpm, PMOP *)
+PERLVAR(Ttainted, bool) /* using variables controlled by $< */
+PERLVAR(Tcurpm, PMOP *) /* what to do \ interps from */
PERLVAR(Tnrs, SV *)
-PERLVAR(Trs, SV *)
+PERLVAR(Trs, SV *) /* $/ */
PERLVAR(Tlast_in_gv, GV *)
-PERLVAR(Tofs, char *)
+PERLVAR(Tofs, char *) /* $, */
PERLVAR(Tofslen, STRLEN)
PERLVAR(Tdefoutgv, GV *)
-PERLVAR(Tchopset, char *)
+PERLVARI(Tchopset, char *, " \n-") /* $: */
PERLVAR(Tformtarget, SV *)
PERLVAR(Tbodytarget, SV *)
PERLVAR(Ttoptarget, SV *)
- /* Stashes */
-PERLVAR(Tdefstash, HV *)
-PERLVAR(Tcurstash, HV *)
+/* Stashes */
+PERLVAR(Tdefstash, HV *) /* main symbol table */
+PERLVAR(Tcurstash, HV *) /* symbol table for current package */
- /* Stacks */
+/* Stacks */
PERLVAR(Ttmps_stack, SV **)
-PERLVAR(Ttmps_ix, I32)
-PERLVAR(Ttmps_floor, I32)
+PERLVARI(Ttmps_ix, I32, -1)
+PERLVARI(Ttmps_floor, I32, -1)
PERLVAR(Ttmps_max, I32)
-PERLVAR(Tin_eval, int)
-PERLVAR(Trestartop, OP *)
-PERLVAR(Tdelaymagic, int)
-PERLVAR(Tdirty, bool)
-PERLVAR(Tlocalizing, U8)
-PERLVAR(Tcurcop, COP *)
+PERLVAR(Trestartop, OP *) /* Are we propagating an error from croak? */
+PERLVARI(Tcurcop, COP * VOL, &compiling)
+PERLVAR(Tin_eval, VOL int) /* trap "fatal" errors? */
+PERLVAR(Tdelaymagic, int) /* ($<,$>) = ... */
+PERLVAR(Tdirty, bool) /* In the middle of tearing things down? */
+PERLVAR(Tlocalizing, U8) /* are we processing a local() list? */
PERLVAR(Tcxstack, PERL_CONTEXT *)
-PERLVAR(Tcxstack_ix, I32)
-PERLVAR(Tcxstack_max, I32)
+PERLVARI(Tcxstack_ix, I32, -1)
+PERLVARI(Tcxstack_max, I32, 128)
-PERLVAR(Tcurstack, AV *)
-PERLVAR(Tmainstack, AV *)
-PERLVAR(Ttop_env, JMPENV *)
-PERLVAR(Tstart_env, JMPENV) /* Top of top_env longjmp() chain */
+PERLVAR(Tcurstack, AV *) /* THE STACK */
+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 */
/* XXX Sort stuff, firstgv secongv and so on? */
+/* XXX What about regexp stuff? */
+
+#ifdef USE_THREADS
PERLVAR(oursv, SV *)
PERLVAR(cvcache, HV *)
@@ -99,3 +101,4 @@ PERLVAR(i, struct thread_intern) /* Platform-dependent internals */
PERLVAR(trailing_nul, char) /* For the sake of thrsv and oursv */
+#endif /* USE_THREADS */