1 /* Per-thread variables */
2 /* Important ones in the first cache line (if alignment is done right) */
3 PERLVAR(Tstack_sp, SV **)
9 PERLVAR(Tcurpad, SV **)
10 PERLVAR(Tstack_base, SV **)
12 PERLVAR(Tstack_max, SV **)
14 PERLVAR(Tscopestack, I32 *)
15 PERLVAR(Tscopestack_ix, I32)
16 PERLVAR(Tscopestack_max,I32)
18 PERLVAR(Tsavestack, ANY *)
19 PERLVAR(Tsavestack_ix, I32)
20 PERLVAR(Tsavestack_max, I32)
22 PERLVAR(Tretstack, OP **)
23 PERLVAR(Tretstack_ix, I32)
24 PERLVAR(Tretstack_max, I32)
26 PERLVAR(Tmarkstack, I32 *)
27 PERLVAR(Tmarkstack_ptr, I32 *)
28 PERLVAR(Tmarkstack_max, I32 *)
32 PERLVAR(Tstatbuf, struct stat)
34 PERLVAR(Ttimesbuf, struct tms)
37 /* XXX What about regexp stuff? */
39 /* Now the fields that used to be "per interpreter" (even when global) */
41 /* Fields used by magic variables such as $@, $/ and so on */
42 PERLVAR(Ttainted, bool)
43 PERLVAR(Tcurpm, PMOP *)
46 PERLVAR(Tlast_in_gv, GV *)
48 PERLVAR(Tofslen, STRLEN)
49 PERLVAR(Tdefoutgv, GV *)
50 PERLVAR(Tchopset, char *)
51 PERLVAR(Tformtarget, SV *)
52 PERLVAR(Tbodytarget, SV *)
53 PERLVAR(Ttoptarget, SV *)
56 PERLVAR(Tdefstash, HV *)
57 PERLVAR(Tcurstash, HV *)
60 PERLVAR(Ttmps_stack, SV **)
61 PERLVAR(Ttmps_ix, I32)
62 PERLVAR(Ttmps_floor, I32)
63 PERLVAR(Ttmps_max, I32)
65 PERLVAR(Tin_eval, int)
66 PERLVAR(Trestartop, OP *)
67 PERLVAR(Tdelaymagic, int)
69 PERLVAR(Tlocalizing, U8)
70 PERLVAR(Tcurcop, COP *)
72 PERLVAR(Tcxstack, PERL_CONTEXT *)
73 PERLVAR(Tcxstack_ix, I32)
74 PERLVAR(Tcxstack_max, I32)
76 PERLVAR(Tcurstack, AV *)
77 PERLVAR(Tmainstack, AV *)
78 PERLVAR(Ttop_env, JMPENV *)
79 PERLVAR(Tstart_env, JMPENV) /* Top of top_env longjmp() chain */
81 /* XXX Sort stuff, firstgv secongv and so on? */
84 PERLVAR(cvcache, HV *)
85 PERLVAR(self, perl_os_thread) /* Underlying thread object */
87 PERLVAR(threadsv, AV *) /* Per-thread SVs ($_, $@ etc.) */
88 PERLVAR(specific, AV *) /* Thread-specific user data */
89 PERLVAR(errsv, SV *) /* Backing SV for $@ */
90 PERLVAR(errhv, HV *) /* HV for what was %@ in pp_ctl.c */
91 PERLVAR(mutex, perl_mutex) /* For the fields others can change */
93 PERLVAR(prev, struct perl_thread *)
94 PERLVAR(next, struct perl_thread *) /* Circular linked list of threads */
96 #ifdef HAVE_THREAD_INTERN
97 PERLVAR(i, struct thread_intern) /* Platform-dependent internals */
100 PERLVAR(trailing_nul, char) /* For the sake of thrsv and oursv */