applied patch, tweaked wording
[p5sagit/p5-mst-13.2.git] / thrdvar.h
index 33419de..7c40481 100644 (file)
--- a/thrdvar.h
+++ b/thrdvar.h
@@ -1,4 +1,10 @@
-/* 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 **)          
@@ -68,18 +74,24 @@ PERLVAR(Tdelaymagic,        int)            /* ($<,$>) = ... */
 PERLVAR(Tdirty,                bool)           /* In the middle of tearing things down? */
 PERLVAR(Tlocalizing,   int)            /* are we processing a local() list? */
 
-PERLVAR(Tcxstack,      PERL_CONTEXT *)         
-PERLVARI(Tcxstack_ix,  I32,    -1)     
-PERLVARI(Tcxstack_max, I32,    128)    
-
 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 *)           
@@ -87,6 +99,7 @@ PERLVAR(cvcache,      HV *)
 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 */