Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 529 lines (403 sloc) 17.276 kb
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
1 /***********************************************/
2 /* Global only to current interpreter instance */
3 /***********************************************/
4
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
5 /* Don't forget to re-run embed.pl to propagate changes! */
6
6537fe72 »
2001-12-13 -t taint warnings
7 /* New variables must be added to the very end for binary compatibility.
8 * XSUB.h provides wrapper functions via perlapi.h that make this
9 * irrelevant, but not all code may be expected to #include XSUB.h. */
10
02506efe »
2003-03-11 Add reminders to intrpvar.h about perl_clone(), as suggested by Stas.
11 /* Don't forget to add your variable also to perl_clone()! */
12
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
13 /* The 'I' prefix is only needed for vars that need appropriate #defines
14 * generated when built with or without MULTIPLICITY. It is also used
15 * to generate the appropriate export list for win32.
16 *
14dd3ad8 »
2000-02-20 make change#3386 a build-time option (avoids problems due to
17 * When building without MULTIPLICITY, these variables will be truly global. */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
18
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
19
20 /* For historical reasons this file follows thrdvar.h into the interpeter
21 struct, and that file currently ends with 7 bytes of variables, so putting
22 one last byte here is good for alignment. */
23
24 /* This value may be set when embedding for full cleanup */
25 /* 0=none, 1=full, 2=full with checks */
26 PERLVARI(Iperl_destruct_level, U8, 0)
27
28 PERLVAR(Iperldb, U32)
29
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
30 /* pseudo environmental stuff */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
31 PERLVAR(Iorigargc, int)
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
32 PERLVAR(Iorigargv, char **)
33 PERLVAR(Ienvgv, GV *)
34 PERLVAR(Iincgv, GV *)
b3ac6de7 »
1998-06-26 added patch for overloading constants, made PERL_OBJECT-aware
35 PERLVAR(Ihintgv, GV *)
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
36 PERLVAR(Iorigfilename, char *)
37 PERLVAR(Idiehook, SV *)
38 PERLVAR(Iwarnhook, SV *)
1d7c1841 »
1999-12-12 integrate mainline changes
39
40 /* switches */
a7cb1f99 »
1999-12-24 support for v5.5.640 style version numbers
41 PERLVAR(Ipatchlevel, SV *)
27da23d5 »
2005-04-18 Symbian port of Perl
42 PERLVAR(Ilocalpatches, const char * const *)
dd374669 »
2005-03-25 Consting five
43 PERLVARI(Isplitstr, const char *, " ")
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
44
45 PERLVAR(Iminus_c, bool)
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
46 PERLVAR(Ipreprocess, bool)
47 PERLVAR(Iminus_n, bool)
48 PERLVAR(Iminus_p, bool)
49 PERLVAR(Iminus_l, bool)
50 PERLVAR(Iminus_a, bool)
51 PERLVAR(Iminus_F, bool)
52 PERLVAR(Idoswitches, bool)
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
53
bc9b29db »
2005-12-21 Feature bundle is now :5.10, and add -E switch
54 PERLVAR(Iminus_E, bool)
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
55
56 /*
ccfc67b7 »
2002-01-03 Missed the =head1 additions.
57 =head1 Global Variables
58
2eb25c99 »
2001-01-30 Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
59 =for apidoc mn|bool|PL_dowarn
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
60
61 The C variable which corresponds to Perl's $^W warning variable.
62
63 =cut
64 */
65
d41ff1b8 »
2000-01-31 introduce $^U, a global bit to indicate whether system
66 PERLVAR(Idowarn, U8)
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
67 PERLVAR(Idoextract, bool)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
68 PERLVAR(Isawampersand, bool) /* must save all match strings */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
69 PERLVAR(Iunsafe, bool)
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
70 PERLVAR(Iexit_flags, U8) /* was exit() unexpected, etc. */
71 PERLVAR(Isrand_called, bool)
72 /* Part of internal state, but makes the 16th 1 byte variable in a row. */
73 PERLVAR(Itainting, bool) /* doing taint checks */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
74 PERLVAR(Iinplace, char *)
75 PERLVAR(Ie_script, SV *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
76
77 /* magical thingies */
78 PERLVAR(Ibasetime, Time_t) /* $^T */
79 PERLVAR(Iformfeed, SV *) /* $^L */
d4cce5f1 »
1997-11-30 embed.pl now reads *var*.h to do its stuff.
80
81
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
82 PERLVARI(Imaxsysfd, I32, MAXSYSFD)
83 /* top fd to pass to subprocesses */
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
84 PERLVAR(Istatusvalue, I32) /* $? */
85 #ifdef VMS
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
86 PERLVAR(Istatusvalue_vms,U32)
e5218da5 »
2005-05-18 Well defined $? and introduction of ${^CHILD_ERROR_NATIVE} [PATCH]
87 #else
88 PERLVAR(Istatusvalue_posix,I32)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
89 #endif
90
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
91 #ifdef CSH
92 PERLVARI(Icshlen, I32, 0)
93 PERLVARI(Icshname, const char *, CSH)
94 #endif
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
95
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
96 /* shortcuts to various I/O objects */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
97 PERLVAR(Istdingv, GV *)
bf49b057 »
1999-10-06 make die/warn and other diagnostics go to wherever STDERR happens
98 PERLVAR(Istderrgv, GV *)
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
99 PERLVAR(Idefgv, GV *)
100 PERLVAR(Iargvgv, GV *)
101 PERLVAR(Iargvoutgv, GV *)
1d7c1841 »
1999-12-12 integrate mainline changes
102 PERLVAR(Iargvout_stack, AV *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
103
104 /* shortcuts to regexp stuff */
5c0ca799 »
1998-07-12 make RE engine threadsafe; -Dusethreads builds, tests on Solaris,
105 /* this one needs to be moved to thrdvar.h and accessed via
4d1ff10f »
2001-08-27 Changes USE_THREADS to USE_5005THREADS in the entire source.
106 * find_threadsv() when USE_5005THREADS */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
107 PERLVAR(Ireplgv, GV *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
108
109 /* shortcuts to misc objects */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
110 PERLVAR(Ierrgv, GV *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
111
112 /* shortcuts to debugging objects */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
113 PERLVAR(IDBgv, GV *)
114 PERLVAR(IDBline, GV *)
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
115
116 /*
2eb25c99 »
2001-01-30 Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
117 =for apidoc mn|GV *|PL_DBsub
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
118 When Perl is run in debugging mode, with the B<-d> switch, this GV contains
119 the SV which holds the name of the sub being debugged. This is the C
120 variable which corresponds to Perl's $DB::sub variable. See
121 C<PL_DBsingle>.
122
2eb25c99 »
2001-01-30 Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
123 =for apidoc mn|SV *|PL_DBsingle
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
124 When Perl is run in debugging mode, with the B<-d> switch, this SV is a
7889fe52 »
2000-12-09 UTF8 output prework.
125 boolean which indicates whether subs are being single-stepped.
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
126 Single-stepping is automatically turned on after every step. This is the C
127 variable which corresponds to Perl's $DB::single variable. See
128 C<PL_DBsub>.
129
2eb25c99 »
2001-01-30 Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
130 =for apidoc mn|SV *|PL_DBtrace
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
131 Trace variable used when Perl is run in debugging mode, with the B<-d>
132 switch. This is the C variable which corresponds to Perl's $DB::trace
133 variable. See C<PL_DBsingle>.
134
135 =cut
136 */
137
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
138 PERLVAR(IDBsub, GV *)
139 PERLVAR(IDBsingle, SV *)
140 PERLVAR(IDBtrace, SV *)
141 PERLVAR(IDBsignal, SV *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
142 PERLVAR(Ilineary, AV *) /* lines of script for debugger */
143 PERLVAR(Idbargs, AV *) /* args to call listed by caller function */
144
145 /* symbol tables */
146 PERLVAR(Idebstash, HV *) /* symbol table for perldb package */
147 PERLVAR(Iglobalstash, HV *) /* global keyword overrides imported here */
148 PERLVAR(Icurstname, SV *) /* name of current package */
149 PERLVAR(Ibeginav, AV *) /* names of BEGIN subroutines */
d4cce5f1 »
1997-11-30 embed.pl now reads *var*.h to do its stuff.
150 PERLVAR(Iendav, AV *) /* names of END subroutines */
3c10abe3 »
2006-10-19 stab at UNITCHECK blocks
151 PERLVAR(Iunitcheckav, AV *) /* names of UNITCHECK subroutines */
7d30b5c4 »
2000-01-26 s/STOP/CHECK/ blocks
152 PERLVAR(Icheckav, AV *) /* names of CHECK subroutines */
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
153 PERLVAR(Iinitav, AV *) /* names of INIT subroutines */
154 PERLVAR(Istrtab, HV *) /* shared string table */
005a453c »
1998-07-09 add more correct version of change#1350 (as yet untested)
155 PERLVARI(Isub_generation,U32,1) /* incr to invalidate method cache */
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
156
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
157 /* funky return mechanisms */
158 PERLVAR(Iforkprocess, int) /* so do_open |- can return proc# */
159
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
160 /* memory management */
161 PERLVAR(Isv_count, I32) /* how many SV* are currently allocated */
162 PERLVAR(Isv_objcount, I32) /* how many objects are currently allocated */
163 PERLVAR(Isv_root, SV*) /* storage for SVs belonging to interp */
164 PERLVAR(Isv_arenaroot, SV*) /* list of areas for garbage collection */
165
166 /* subprocess state */
d4cce5f1 »
1997-11-30 embed.pl now reads *var*.h to do its stuff.
167 PERLVAR(Ifdpid, AV *) /* keep fd-to-pid mappings for my_popen */
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
168
169 /* internal state */
170 PERLVARI(Iop_mask, char *, NULL) /* masked operations for safe evals */
171
172 /* current interpreter roots */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
173 PERLVAR(Imain_cv, CV *)
174 PERLVAR(Imain_root, OP *)
175 PERLVAR(Imain_start, OP *)
176 PERLVAR(Ieval_root, OP *)
177 PERLVAR(Ieval_start, OP *)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
178
179 /* runtime control stuff */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
180 PERLVARI(Icurcopdb, COP *, NULL)
49f531da »
1997-11-29 Globals and structs via macros - part 1 of N
181
182 PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
183 PERLVAR(Ilastfd, int) /* what to preserve mode on */
184 PERLVAR(Ioldname, char *) /* what to preserve mode on */
d4cce5f1 »
1997-11-30 embed.pl now reads *var*.h to do its stuff.
185 PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */
186 PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
187 PERLVAR(Ipreambleav, AV *)
188 PERLVAR(Imess_sv, SV *)
7889fe52 »
2000-12-09 UTF8 output prework.
189 PERLVAR(Iors_sv, SV *) /* output record separator $\ */
71eebe1e »
2007-05-05 Shuffling PL_gensym saves 8 bytes on LP64 systems.
190 /* statics moved here for shared library purposes */
191 PERLVARI(Igensym, I32, 0) /* next symbol for getsym() to define */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
192 PERLVAR(Iin_my, U16) /* we're compiling a "my" (or "our") declaration */
193 PERLVARI(Ilaststype, U16, OP_STAT)
194 PERLVARI(Ilaststatval, int, -1)
d4cce5f1 »
1997-11-30 embed.pl now reads *var*.h to do its stuff.
195
4b556e6c »
1998-04-22 [win32] hand-applied patch along with small tweaks
196 /* interpreter atexit processing */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
197 PERLVARI(Iexitlistlen, I32, 0) /* length of same */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
198 PERLVARI(Iexitlist, PerlExitListEntry *, NULL)
199 /* list of exit functions */
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
200
201 /*
202 =for apidoc Amn|HV*|PL_modglobal
203
7889fe52 »
2000-12-09 UTF8 output prework.
204 C<PL_modglobal> is a general purpose, interpreter global HV for use by
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
205 extensions that need to keep information on a per-interpreter basis.
7889fe52 »
2000-12-09 UTF8 output prework.
206 In a pinch, it can also be used as a symbol table for extensions
207 to share data among each other. It is a good idea to use keys
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
208 prefixed by the package name of the extension that owns the data.
209
210 =cut
211 */
212
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
213 PERLVAR(Imodglobal, HV *) /* per-interp module data */
214
215 /* these used to be in global before 5.004_68 */
216 PERLVARI(Iprofiledata, U32 *, NULL) /* table of ops, counts */
4608196e »
2006-02-20 More NullXXX macro removal from Andy Lester
217 PERLVARI(Irsfp, PerlIO * VOL, NULL) /* current source file pointer */
7d49f689 »
2005-12-16 s/Nullav/NULL/g
218 PERLVARI(Irsfp_filters, AV *, NULL) /* keeps active source filters */
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
219
220 PERLVAR(Icompiling, COP) /* compiling/done executing marker */
221
222 PERLVAR(Icompcv, CV *) /* currently compiling subroutine */
223 PERLVAR(Icomppad, AV *) /* storage for lexically scoped temporaries */
224 PERLVAR(Icomppad_name, AV *) /* variable names for "my" variables */
225 PERLVAR(Icomppad_name_fill, I32) /* last "introduced" variable offset */
226 PERLVAR(Icomppad_name_floor, I32) /* start of vars in innermost block */
4b556e6c »
1998-04-22 [win32] hand-applied patch along with small tweaks
227
228 #ifdef HAVE_INTERP_INTERN
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
229 PERLVAR(Isys_intern, struct interp_intern)
230 /* platform internals */
4b556e6c »
1998-04-22 [win32] hand-applied patch along with small tweaks
231 #endif
232
7fae4e64 »
1998-02-14 [asperl] added AS patch#5 (patch #4 was intentionally skipped after
233 /* more statics moved here */
234 PERLVAR(IDBcv, CV *) /* from perl.c */
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
235 PERLVARI(Igeneration, int, 100) /* from op.c */
56953603 »
1998-07-06 add patch for C<use re 'debug'>
236
cb68f92d »
1998-06-23 partial MULTIPLICITY cleanup
237 PERLVARI(Iin_clean_objs,bool, FALSE) /* from sv.c */
238 PERLVARI(Iin_clean_all, bool, FALSE) /* from sv.c */
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
239 PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
240 PERLVARI(Isavebegin, bool, FALSE) /* save BEGINs for compiler */
7fae4e64 »
1998-02-14 [asperl] added AS patch#5 (patch #4 was intentionally skipped after
241
d8eceb89 »
1999-08-10 Gratuitous uid and gid casts to I32s and ints removed.
242 PERLVAR(Iuid, Uid_t) /* current real user id */
243 PERLVAR(Ieuid, Uid_t) /* current effective user id */
244 PERLVAR(Igid, Gid_t) /* current real group id */
245 PERLVAR(Iegid, Gid_t) /* current effective group id */
bf9cdc68 »
2003-08-05 embedding perl
246 PERLVARI(Ian, U32, 0) /* malloc sequence number */
247 PERLVARI(Icop_seqmax, U32, 0) /* statement sequence number */
248 PERLVARI(Ievalseq, U32, 0) /* eval sequence number */
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
249 PERLVAR(Iorigalen, U32)
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
250 PERLVAR(Iorigenviron, char **)
ca0c25f6 »
2005-10-26 Most platforms don't actually need PL_pidstatus, or the associated
251 #ifdef PERL_USES_PL_PIDSTATUS
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
252 PERLVAR(Ipidstatus, HV *) /* pid-to-status mappings for waitpid */
ca0c25f6 »
2005-10-26 Most platforms don't actually need PL_pidstatus, or the associated
253 #endif
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
254 PERLVAR(Iosname, char *) /* operating system */
5c728af0 »
2003-03-31 Integrate:
255
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
256 PERLVAR(Isighandlerp, Sighandler_t)
257
232d1c15 »
2006-02-20 Steal code from maint, and use PERL_ARENA_ROOTS_SIZE to size the arena
258 PERLVARA(Ibody_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
93e68bfb »
2005-11-14 Re: eliminate discreet arenaroots
259
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
260 PERLVAR(Inice_chunk, char *) /* a nice chunk of memory to reuse */
261 PERLVAR(Inice_chunk_size, U32) /* how nice the chunk of memory is */
262
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
263 PERLVARI(Imaxo, int, MAXO) /* maximum number of ops */
264
0b94c7bb »
1999-07-12 fixups for sundry warnings about function pointers
265 PERLVARI(Irunops, runops_proc_t, MEMBER_TO_FPTR(RUNOPS_DEFAULT))
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
266
51371543 »
1999-07-08 more PERL_OBJECT cleanups (changes still untested on Unix!)
267 PERLVARA(Itokenbuf,256, char)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
268
954c1994 »
2000-01-28 autogenerate API listing from comments in the source (from Benjamin
269 /*
270 =for apidoc Amn|SV|PL_sv_undef
271 This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>.
272
273 =for apidoc Amn|SV|PL_sv_no
274 This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as
275 C<&PL_sv_no>.
276
277 =for apidoc Amn|SV|PL_sv_yes
278 This is the C<true> SV. See C<PL_sv_no>. Always refer to this as
279 C<&PL_sv_yes>.
280
281 =cut
282 */
283
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
284 PERLVAR(Isv_undef, SV)
285 PERLVAR(Isv_no, SV)
286 PERLVAR(Isv_yes, SV)
287
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
288 PERLVAR(Ilex_state, U8) /* next token is determined */
289 PERLVAR(Ierror_count, U8) /* how many errors so far, max 10 */
290 PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
53a7735b »
2007-05-04 move PL_expect and PL_copline into the PL_parser structure
291 /* Space for one more U8 here without increasing the structure size */
292
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
293 PERLVAR(Imulti_end, I32) /* last line of multi-line string */
294
295 PERLVAR(Isubname, SV *) /* name of current subroutine */
296
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
297 PERLVAR(Isubline, I32) /* line this subroutine began on */
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
298 PERLVAR(Imin_intro_pending, I32) /* start of vars to introduce */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
299
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
300 PERLVAR(Imax_intro_pending, I32) /* end of vars to introduce */
301 PERLVAR(Ipadix, I32) /* max used index in current "register" pad */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
302
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
303 PERLVAR(Ipadix_floor, I32) /* how low may inner block reset padix */
304 PERLVAR(Ipad_reset_pending, I32) /* reset pad on next attempted alloc */
305
306 PERLVAR(Iin_my_stash, HV *) /* declared class of this "my" declaration */
307
1d7c1841 »
1999-12-12 integrate mainline changes
308 PERLVAR(Ihints, U32) /* pragma-tic compile-time flags */
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
309
310 PERLVAR(Idebug, VOL U32) /* flags given to -D switch */
311
bf9cdc68 »
2003-08-05 embedding perl
312 PERLVARI(Iamagic_generation, long, 0)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
313
314 #ifdef USE_LOCALE_COLLATE
315 PERLVAR(Icollation_name,char *) /* Name of current collation */
316 PERLVAR(Icollxfrm_base, Size_t) /* Basic overhead in *xfrm() */
317 PERLVARI(Icollxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
318 PERLVARI(Icollation_ix, U32, 0) /* Collation generation index */
319 PERLVARI(Icollation_standard, bool, TRUE)
320 /* Assume simple collation */
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
321 #endif /* USE_LOCALE_COLLATE */
322
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
323
324 #ifdef PERL_UTF8_CACHE_ASSERT
325 PERLVARI(Iutf8cache, I8, -1) /* Is the utf8 caching code enabled? */
326 #else
327 PERLVARI(Iutf8cache, I8, 1) /* Is the utf8 caching code enabled? */
328 #endif
329
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
330 #ifdef USE_LOCALE_NUMERIC
331
332 PERLVARI(Inumeric_standard, bool, TRUE)
333 /* Assume simple numerics */
334 PERLVARI(Inumeric_local, bool, TRUE)
335 /* Assume local numerics */
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
336 PERLVAR(Inumeric_name, char *) /* Name of current numeric locale */
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
337 #endif /* !USE_LOCALE_NUMERIC */
338
339 /* utf8 character classes */
340 PERLVAR(Iutf8_alnum, SV *)
b8c5462f »
1999-07-06 POSIX [[:character class:]] support for standard, locale,
341 PERLVAR(Iutf8_alnumc, SV *)
342 PERLVAR(Iutf8_ascii, SV *)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
343 PERLVAR(Iutf8_alpha, SV *)
344 PERLVAR(Iutf8_space, SV *)
b8c5462f »
1999-07-06 POSIX [[:character class:]] support for standard, locale,
345 PERLVAR(Iutf8_cntrl, SV *)
346 PERLVAR(Iutf8_graph, SV *)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
347 PERLVAR(Iutf8_digit, SV *)
348 PERLVAR(Iutf8_upper, SV *)
349 PERLVAR(Iutf8_lower, SV *)
350 PERLVAR(Iutf8_print, SV *)
b8c5462f »
1999-07-06 POSIX [[:character class:]] support for standard, locale,
351 PERLVAR(Iutf8_punct, SV *)
352 PERLVAR(Iutf8_xdigit, SV *)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
353 PERLVAR(Iutf8_mark, SV *)
354 PERLVAR(Iutf8_toupper, SV *)
355 PERLVAR(Iutf8_totitle, SV *)
356 PERLVAR(Iutf8_tolower, SV *)
b4e400f9 »
2001-11-02 Unicode: add ToFold mapping. Not used yet; but basically
357 PERLVAR(Iutf8_tofold, SV *)
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
358 PERLVAR(Ilast_swash_hv, HV *)
359 PERLVAR(Ilast_swash_tmps, U8 *)
360 PERLVAR(Ilast_swash_slen, STRLEN)
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
361 PERLVARA(Ilast_swash_key,10, U8)
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
362 PERLVAR(Ilast_swash_klen, U8) /* Only needs to store 0-10 */
363
364 #ifdef FCRYPT
365 PERLVARI(Icryptseen, bool, FALSE) /* has fast crypt() been initialized? */
366 #endif
367
368 PERLVARI(Iglob_index, int, 0)
369
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
370
5912531f »
2006-12-18 move parser state into new parser object, PL_parser
371 PERLVAR(Iparser, yy_parser *) /* current parser state */
12fbd33b »
2004-02-28 make the bison-based parser threadsafe and capable of deep
372
0672f40e »
1999-06-10 most globals are now interpreter local; locale initialization
373 PERLVAR(Ibitcount, char *)
374
1d7c1841 »
1999-12-12 integrate mainline changes
375 PERLVAR(Ipsig_ptr, SV**)
376 PERLVAR(Ipsig_name, SV**)
377
c5be433b »
1999-07-12 yet more cleanups of the PERL_OBJECT, MULTIPLICITY and USE_THREADS
378 #if defined(PERL_IMPLICIT_SYS)
32e30700 »
1999-10-17 support PERL_IMPLICIT_SYS with MULTIPLICITY/USE_THREADS on
379 PERLVAR(IMem, struct IPerlMem*)
1d7c1841 »
1999-12-12 integrate mainline changes
380 PERLVAR(IMemShared, struct IPerlMem*)
381 PERLVAR(IMemParse, struct IPerlMem*)
32e30700 »
1999-10-17 support PERL_IMPLICIT_SYS with MULTIPLICITY/USE_THREADS on
382 PERLVAR(IEnv, struct IPerlEnv*)
383 PERLVAR(IStdIO, struct IPerlStdIO*)
384 PERLVAR(ILIO, struct IPerlLIO*)
385 PERLVAR(IDir, struct IPerlDir*)
386 PERLVAR(ISock, struct IPerlSock*)
387 PERLVAR(IProc, struct IPerlProc*)
76e3520e »
1998-01-30 [asperl] added AS patch#2
388 #endif
1d7c1841 »
1999-12-12 integrate mainline changes
389
390 PERLVAR(Iptr_table, PTR_TBL_t*)
7d49f689 »
2005-12-16 s/Nullav/NULL/g
391 PERLVARI(Ibeginav_save, AV*, NULL) /* save BEGIN{}s when compiling */
f180df80 »
2000-04-16 introduce illegal symbols into null package so that gv_fetchpv(...,TRUE)
392
fdda85ca »
2006-01-30 [patch] arena rework - unify arenaroots
393 PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
93e68bfb »
2005-11-14 Re: eliminate discreet arenaroots
394
ce08f86c »
2001-01-16 Provide infrastructure for PERL_ASYNC_CHECK() style safe signals.
395 PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */
396 PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */
397
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
398
399 PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */
400 PERLVAR(Iutf8locale, bool) /* utf8 locale detected */
401 PERLVARI(Ihash_seed_set, bool, FALSE) /* Hash initialized? */
402 PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */
403
a453c169 »
2001-04-30 Change PL_numeric_radix to PL_numeric_radix_sv (and leave in
404 #ifdef USE_LOCALE_NUMERIC
405
406 PERLVAR(Inumeric_radix_sv, SV *) /* The radix separator if not '.' */
407
408 #endif
ce08f86c »
2001-01-16 Provide infrastructure for PERL_ASYNC_CHECK() style safe signals.
409
1fcf4c12 »
2001-07-11 Threadsafe PMOPs! We might still win this war.
410 #if defined(USE_ITHREADS)
aefff11f »
2001-08-06 B && BEGIN handling
411 PERLVAR(Iregex_pad, SV**) /* All regex objects */
412 PERLVAR(Iregex_padav, AV*) /* All regex objects */
e5dd39fc »
2001-07-12 Use reentrant API glibc
413
1fcf4c12 »
2001-07-11 Threadsafe PMOPs! We might still win this war.
414 #endif
415
ea68fd67 »
2004-03-16 Move the PERLVAR(Ireentrant_buffer, REENTR*) outside the ITHREADS
416 #ifdef USE_REENTRANT_API
417 PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */
f5a82810 »
2001-07-12 Needed by #11283.
418 #endif
419
aefff11f »
2001-08-06 B && BEGIN handling
420
598921a7 »
2006-03-07 Some of the MAD structures in headers, plus PL_madskills and PL_xmlfp,
421 #ifdef PERL_MAD
422 PERLVARI(Imadskills, bool, FALSE) /* preserve all syntactic info */
423 /* (MAD = Misc Attribute Decoration) */
424 PERLVARI(Ixmlfp, PerlIO *,NULL)
425 #endif
426
53e06cf0 »
2001-08-25 Custom Ops
427 PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */
428 PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */
19e8ce8e »
2001-09-10 Remove #ifdef PERL_CUSTOM_OPS, always build with PERL_CUSTOM_OPS
429
a1ea730d »
2001-10-21 PerlIO layer table as PL_perlio (per-interpreter)
430 #ifdef PERLIO_LAYERS
431 PERLVARI(Iperlio, PerlIO *,NULL)
3a1ee7e8 »
2001-10-21 Convert rest of PerlIO's memory tables to per-interp and add clone fu…
432 PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
433 PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
a1ea730d »
2001-10-21 PerlIO layer table as PL_perlio (per-interpreter)
434 #endif
435
a0714e2c »
2006-02-03 Re: [PATCH] s/Null(gv|hv|sv)/NULL/g
436 PERLVARI(Iencoding, SV*, NULL) /* character encoding */
0a378802 »
2001-10-28 Add the encoding pragma to control the "upgrade"
437
128e8167 »
2001-11-24 The debug_pag needs to be visible at all times
438 PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re extension */
ce333219 »
2001-11-20 Create a per-interpeter debug scratchpad container
439
238a4c30 »
2002-01-13 Slab allocator for ops
440 #ifdef PL_OP_SLAB_ALLOC
5a8e194f »
2002-01-15 Correct slab allocator for case where sizeof(IV) > sizeof(IV *)
441 PERLVAR(IOpPtr,I32 **)
442 PERLVARI(IOpSpace,I32,0)
443 PERLVAR(IOpSlab,I32 *)
238a4c30 »
2002-01-13 Slab allocator for ops
444 #endif
445
82686b01 »
2002-04-16 my $utf8here, our $utf8here, and package variable $utf8here.
446 PERLVAR(Iutf8_idstart, SV *)
447 PERLVAR(Iutf8_idcont, SV *)
448
147f47de »
2002-05-14 Turn the sort RealCmp for stable quicksorts into a
449 PERLVAR(Isort_RealCmp, SVCOMPARE_t)
450
7d49f689 »
2005-12-16 s/Nullav/NULL/g
451 PERLVARI(Icheckav_save, AV*, NULL) /* save CHECK{}s when compiling */
3c10abe3 »
2006-10-19 stab at UNITCHECK blocks
452 PERLVARI(Iunitcheckav_save, AV*, NULL) /* save UNITCHECK{}s when compiling */
ece599bd »
2002-08-28 B::check_av() ; B::Deparse for CHECK blocks
453
5311654c »
2002-09-01 use sysconf(_SC_CLK_TCK) for times()
454 PERLVARI(Iclocktick, long, 0) /* this many times() ticks in a second */
455
edab1aa3 »
2002-11-28 Slight beauty tweak.
456 PERLVARI(Iin_load_module, int, 0) /* to prevent recursions in PerlIO_find_layer */
457
a05d7ebb »
2003-02-15 The new(er) way of controlling Unicode I/O (and other) features;
458 PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
459
4ffa73a3 »
2003-02-24 PERL_SIGNALS=unsafe enables the old unsafe/immediate signals.
460 PERLVAR(Isignals, U32) /* Using which pre-5.8 signals */
461
57c6e6d2 »
2003-04-28 Feel-good cleanup.
462 PERLVAR(Ireentrant_retint, int) /* Integer return value from reentrant functions */
463
9f7da6d5 »
2007-04-21 By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
464 PERLVAR(Istashcache, HV *) /* Cache to speed up S_method_common */
465
15a5279a »
2003-05-11 Move the thread *hook into interpreter.
466 /* Hooks to shared SVs and locks. */
467 PERLVARI(Isharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
d5b2b27b »
2005-10-30 Given that sv_nosharing performs the same function as sv_nolocking
468 PERLVARI(Ilockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
d0647d4e »
2006-01-29 Avoid using space to create 2 functions just to force mathoms to be
469 #ifdef NO_MATHOMS
470 # define PERL_UNLOCK_HOOK Perl_sv_nosharing
471 #else
472 /* This reference ensures that the mathoms are linked with perl */
473 # define PERL_UNLOCK_HOOK Perl_sv_nounlocking
474 #endif
475 PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
476
15a5279a »
2003-05-11 Move the thread *hook into interpreter.
477 PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
478
bce260cd »
2003-05-12 More moves to intrpvar.h.
479 /* Force inclusion of both runops options */
480 PERLVARI(Irunops_std, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_standard))
481 PERLVARI(Irunops_dbg, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_debug))
482
483 /* Stores the PPID */
484 #ifdef THREADS_HAVE_PIDS
485 PERLVARI(Ippid, IV, 0)
486 #endif
487
504f80c1 »
2003-06-26 Bite the bullet and apply the hash randomisation patch.
488 PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
489
8b5c2100 »
2003-04-07 Future binary compat wishful thinking:
490 PERLVAR(IDBassertion, SV *)
491
008fb0c0 »
2003-11-03 s/new_hash/rehash/g (Stas suggested a better name)
492 PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
4b5190b5 »
2003-10-16 Plan C for foiling the algorithmic complexity attack
493
41e4abd8 »
2005-06-24 Extend DEBUG_LEAKING_SCALARS_FORK_DUMP so it can also dump scalars
494 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
495 /* File descriptor to talk to the child which dumps scalars. */
496 PERLVARI(Idumper_fd, int, -1)
497 #endif
f16dd614 »
2005-12-29 re-implement MY_CXT API more efficiently, and add explicit
498
499 #ifdef PERL_IMPLICIT_CONTEXT
4c901e72 »
2005-12-31 tidy index arrangements in new MY_CXT code
500 PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */
f16dd614 »
2005-12-29 re-implement MY_CXT API more efficiently, and add explicit
501 PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
53d44271 »
2007-01-01 Symbian port: add Series 90 support
502 #ifdef PERL_GLOBAL_STRUCT_PRIVATE
503 PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
504 #endif
f16dd614 »
2005-12-29 re-implement MY_CXT API more efficiently, and add explicit
505 #endif
506
7cb608b5 »
2006-02-04 Enhance PERL_TRACK_MEMPOOL so that it also emulates the PerlHost
507 #ifdef PERL_TRACK_MEMPOOL
508 /* For use with the memory debugging code in util.c */
509 PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
510 #endif
511
f1fac472 »
2007-04-02 Add a new compile option PERL_DEBUG_READONLY_OPS which marks the optree
512 #ifdef PERL_DEBUG_READONLY_OPS
513 PERLVARI(Islabs, I32**, NULL) /* Array of slabs that have been allocated */
514 PERLVARI(Islab_count, U32, 0) /* Size of the array */
515 #endif
516
dd69841b »
2007-04-29 Re: mro status, etc
517 PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
518
53a7735b »
2007-05-04 move PL_expect and PL_copline into the PL_parser structure
519 /* If you are adding a U8 or U16, see the 'Space' comments above on where
520 * there are gaps which currently will be structure padding. */
d95e864f »
2007-04-23 More variable reordering saves another 40 bytes from the interpreter
521
522 /* Within a stable branch, new variables must be added to the very end, before
523 * this comment, for binary compatibility (the offsets of the old members must
524 * not change).
b83cd129 »
2003-05-29 Comment tweakage.
525 * (Don't forget to add your variable also to perl_clone()!)
e3acbfda »
2000-07-14 move new variables to the end of the interpreter structure (for
526 * XSUB.h provides wrapper functions via perlapi.h that make this
b83cd129 »
2003-05-29 Comment tweakage.
527 * irrelevant, but not all code may be expected to #include XSUB.h.
528 */
Something went wrong with that request. Please try again.