-/* Per-thread variables */
+/* Don't forget to re-run embed.pl to propagate changes! */
+
+/* Per-thread variables
+ The 'T' prefix is only needed for vars that need appropriate #defines
+generated when built with or without USE_THREADS. (It is also used
+to generate the appropriate the export list for win32.) */
+
/* Important ones in the first cache line (if alignment is done right) */
PERLVAR(Tstack_sp, SV **)
PERLVAR(TSv, SV *)
PERLVAR(TXpv, XPV *)
-PERLVAR(Tstatbuf, struct stat)
+PERLVAR(Tstatbuf, Stat_t)
#ifdef HAS_TIMES
PERLVAR(Ttimesbuf, struct tms)
#endif
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 *)
-PERLVARI(Tcxstack_ix, I32, -1)
-PERLVARI(Tcxstack_max, I32, 128)
+PERLVAR(Tlocalizing, int) /* are we processing a local() list? */
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 */
+/* statics "owned" by various functions */
+PERLVAR(Tav_fetch_sv, SV *)
+PERLVAR(Thv_fetch_sv, SV *)
+PERLVAR(Thv_fetch_ent_mh, HE)
+PERLVAR(Tmodcount, I32)
+
/* XXX Sort stuff, firstgv secongv and so on? */
/* XXX What about regexp stuff? */
+/* Note that the variables below are all explicitly referenced in the code
+as thr->whatever and therefore don't need the 'T' prefix. */
+
#ifdef USE_THREADS
PERLVAR(oursv, SV *)
PERLVAR(self, perl_os_thread) /* Underlying thread object */
PERLVAR(flags, U32)
PERLVAR(threadsv, AV *) /* Per-thread SVs ($_, $@ etc.) */
+PERLVAR(threadsvp, SV **) /* AvARRAY(threadsv) */
PERLVAR(specific, AV *) /* Thread-specific user data */
PERLVAR(errsv, SV *) /* Backing SV for $@ */
PERLVAR(errhv, HV *) /* HV for what was %@ in pp_ctl.c */