Skip to content
Newer
Older
100644 795 lines (614 sloc) 26.4 KB
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
1 /* intrpvar.h
2 *
3 * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
1129b88 Update copyright years.
Nicholas Clark authored Oct 25, 2008
4 * 2006, 2007, 2008 by Larry Wall and others
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
5 *
6 * You may distribute under the terms of either the GNU General Public
7 * License or the Artistic License, as specified in the README file.
8 *
9 */
10
11 /*
12 =head1 Per-Interpreter Variables
13 */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
14
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
15 /* These variables are per-interpreter in threaded/multiplicity builds,
16 * global otherwise.
17
d7cb65f embed.pl -> regen/embed.pl
Father Chrysostomos authored Oct 13, 2010
18 * Don't forget to re-run regen/embed.pl to propagate changes! */
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
19
6537fe7 @schwern -t taint warnings
authored Dec 13, 2001
20 /* New variables must be added to the very end for binary compatibility.
21 * XSUB.h provides wrapper functions via perlapi.h that make this
22 * irrelevant, but not all code may be expected to #include XSUB.h. */
23
02506ef @jhi Add reminders to intrpvar.h about perl_clone(), as suggested by Stas.
jhi authored Mar 11, 2003
24 /* Don't forget to add your variable also to perl_clone()! */
25
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
26 /* The 'I' prefix is only needed for vars that need appropriate #defines
27 * generated when built with or without MULTIPLICITY. It is also used
97df044 intrpvar.h: Add comment about PERLVARI
Karl Williamson authored Feb 23, 2011
28 * to generate the appropriate export list for win32. If the variable
29 * needs to be initialized, use PERLVARI.
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
30 *
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
31 * When building without MULTIPLICITY, these variables will be truly global.
32 *
33 * Important ones in the first cache line (if alignment is done right) */
34
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
35 PERLVAR(I, stack_sp, SV **) /* top of the stack */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
36 #ifdef OP_IN_REGISTER
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
37 PERLVAR(I, opsave, OP *)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
38 #else
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
39 PERLVAR(I, op, OP *) /* currently executing op */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
40 #endif
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
41 PERLVAR(I, curpad, SV **) /* active pad (lexicals+tmps) */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
42
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
43 PERLVAR(I, stack_base, SV **)
44 PERLVAR(I, stack_max, SV **)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
45
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
46 PERLVAR(I, scopestack, I32 *) /* scopes we've ENTERed */
f2b8894 PL_scopestack_name needs to be present, -DDEBUGGING or not.
Nicholas Clark authored Nov 18, 2009
47 /* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be
48 present always, as -DDEUBGGING must be binary compatible with non. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
49 PERLVARI(I, scopestack_name, const char * *, NULL)
50 PERLVAR(I, scopestack_ix, I32)
51 PERLVAR(I, scopestack_max, I32)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
52
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
53 PERLVAR(I, savestack, ANY *) /* items that need to be restored when
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
54 LEAVEing scopes we've ENTERed */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
55 PERLVAR(I, savestack_ix, I32)
56 PERLVAR(I, savestack_max, I32)
57
58 PERLVAR(I, tmps_stack, SV **) /* mortals we've made */
59 PERLVARI(I, tmps_ix, I32, -1)
60 PERLVARI(I, tmps_floor, I32, -1)
61 PERLVAR(I, tmps_max, I32)
62 PERLVAR(I, modcount, I32) /* how much op_lvalue()ification in
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
63 assignment? */
64
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
65 PERLVAR(I, markstack, I32 *) /* stack_sp locations we're
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
66 remembering */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
67 PERLVAR(I, markstack_ptr, I32 *)
68 PERLVAR(I, markstack_max, I32 *)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
69
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
70 PERLVAR(I, Sv, SV *) /* used to hold temporary values */
71 PERLVAR(I, Xpv, XPV *) /* used to hold temporary values */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
72
73 /*
74 =for apidoc Amn|STRLEN|PL_na
75
76 A convenience variable which is typically used with C<SvPV> when one
77 doesn't care about the length of the string. It is usually more efficient
78 to either declare a local variable and use that instead or to use the
79 C<SvPV_nolen> macro.
80
81 =cut
82 */
83
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
84 PERLVAR(I, na, STRLEN) /* for use in SvPV when length is
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
85 Not Applicable */
86
87 /* stat stuff */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
88 PERLVAR(I, statbuf, Stat_t)
89 PERLVAR(I, statcache, Stat_t) /* _ */
90 PERLVAR(I, statgv, GV *)
91 PERLVARI(I, statname, SV *, NULL)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
92
93 #ifdef HAS_TIMES
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
94 PERLVAR(I, timesbuf, struct tms)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
95 #endif
96
97 /* Fields used by magic variables such as $@, $/ and so on */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
98 PERLVAR(I, curpm, PMOP *) /* what to do \ interps in REs from */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
99
100 /*
101 =for apidoc mn|SV*|PL_rs
102
103 The input record separator - C<$/> in Perl space.
104
105 =for apidoc mn|GV*|PL_last_in_gv
106
107 The GV which was last used for a filehandle input operation. (C<< <FH> >>)
108
e23d9e2 @chipdude [perl #948] [PATCH] Allow tied $,
chipdude authored Nov 13, 2008
109 =for apidoc mn|GV*|PL_ofsgv
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
110
e23d9e2 @chipdude [perl #948] [PATCH] Allow tied $,
chipdude authored Nov 14, 2008
111 The glob containing the output field separator - C<*,> in Perl space.
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
112
113 =cut
114 */
115
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
116 PERLVAR(I, rs, SV *) /* input record separator $/ */
117 PERLVAR(I, last_in_gv, GV *) /* GV used in last <FH> */
118 PERLVAR(I, ofsgv, GV *) /* GV of output field separator *, */
119 PERLVAR(I, defoutgv, GV *) /* default FH for output */
120 PERLVARI(I, chopset, const char *, " \n-") /* $: */
121 PERLVAR(I, formtarget, SV *)
122 PERLVAR(I, bodytarget, SV *)
123 PERLVAR(I, toptarget, SV *)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
124
125 /* Stashes */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
126 PERLVAR(I, defstash, HV *) /* main symbol table */
127 PERLVAR(I, curstash, HV *) /* symbol table for current package */
128
129 PERLVAR(I, restartop, OP *) /* propagating an error from croak? */
130 PERLVAR(I, restartjmpenv, JMPENV *) /* target frame for longjmp in die */
131 PERLVAR(I, curcop, COP *)
132 PERLVAR(I, curstack, AV *) /* THE STACK */
133 PERLVAR(I, curstackinfo, PERL_SI *) /* current stack + context */
134 PERLVAR(I, mainstack, AV *) /* the stack when nothing funny is
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
135 happening */
136
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
137 PERLVAR(I, top_env, JMPENV *) /* ptr to current sigjmp environment */
138 PERLVAR(I, start_env, JMPENV) /* empty startup sigjmp environment */
139 PERLVARI(I, errors, SV *, NULL) /* outstanding queued errors */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
140
141 /* statics "owned" by various functions */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
142 PERLVAR(I, hv_fetch_ent_mh, HE*) /* owned by hv_fetch_ent() */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
143
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
144 PERLVAR(I, lastgotoprobe, OP*) /* from pp_ctl.c */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
145
146 /* sort stuff */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
147 PERLVAR(I, sortcop, OP *) /* user defined sort routine */
148 PERLVAR(I, sortstash, HV *) /* which is in some package or other */
149 PERLVAR(I, firstgv, GV *) /* $a */
150 PERLVAR(I, secondgv, GV *) /* $b */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
151
152 /* float buffer */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
153 PERLVAR(I, efloatbuf, char *)
154 PERLVAR(I, efloatsize, STRLEN)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
155
156 /* regex stuff */
157
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
158 PERLVAR(I, reg_state, struct re_save_state)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
159
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
160 PERLVAR(I, regdummy, regnode) /* from regcomp.c */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
161
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
162 PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
163 indentation level */
164
157b382 Shrink 4 bytes (ILP32) from the interpreter structure.
Nicholas Clark authored Oct 8, 2007
165
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
166 PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
167 PERLVARI(I, rehash_seed_set, bool, FALSE) /* 582 hash initialized? */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
168
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
169 PERLVARA(I, colors,6, char *) /* from regcomp.c */
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
170
9ea1253 documentation on hooking the peephole optimiser
Zefram authored Sep 10, 2010
171 /*
172 =for apidoc Amn|peep_t|PL_peepp
173
174 Pointer to the per-subroutine peephole optimiser. This is a function
175 that gets called at the end of compilation of a Perl subroutine (or
176 equivalently independent piece of Perl code) to perform fixups of
177 some ops and to perform small-scale optimisations. The function is
178 called once for each subroutine that is compiled, and is passed, as sole
179 parameter, a pointer to the op that is the entry point to the subroutine.
180 It modifies the op tree in place.
181
182 The peephole optimiser should never be completely replaced. Rather,
183 add code to it by wrapping the existing optimiser. The basic way to do
184 this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
185 If the new code wishes to operate on ops throughout the subroutine's
186 structure, rather than just at the top level, it is likely to be more
187 convenient to wrap the L</PL_rpeepp> hook.
188
189 =cut
190 */
191
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
192 PERLVARI(I, peepp, peep_t, Perl_peep)
9ea1253 documentation on hooking the peephole optimiser
Zefram authored Sep 10, 2010
193
194 /*
195 =for apidoc Amn|peep_t|PL_rpeepp
196
197 Pointer to the recursive peephole optimiser. This is a function
198 that gets called at the end of compilation of a Perl subroutine (or
199 equivalently independent piece of Perl code) to perform fixups of some
200 ops and to perform small-scale optimisations. The function is called
201 once for each chain of ops linked through their C<op_next> fields;
202 it is recursively called to handle each side chain. It is passed, as
203 sole parameter, a pointer to the op that is at the head of the chain.
204 It modifies the op tree in place.
205
206 The peephole optimiser should never be completely replaced. Rather,
207 add code to it by wrapping the existing optimiser. The basic way to do
208 this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
209 If the new code wishes to operate only on ops at a subroutine's top level,
210 rather than throughout the structure, it is likely to be more convenient
211 to wrap the L</PL_peepp> hook.
212
213 =cut
214 */
215
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
216 PERLVARI(I, rpeepp, peep_t, Perl_rpeep)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
217
2f17531 @vpit Document PL_opfreehook
vpit authored Jul 15, 2009
218 /*
219 =for apidoc Amn|Perl_ophook_t|PL_opfreehook
220
221 When non-C<NULL>, the function pointed by this variable will be called each time an OP is freed with the corresponding OP as the argument.
222 This allows extensions to free any extra attribute they have locally attached to an OP.
223 It is also assured to first fire for the parent OP and then for its kids.
224
225 When you replace this variable, it is considered a good practice to store the possibly previously installed hook and that you recall it inside your own.
226
227 =cut
228 */
229
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
230 PERLVARI(I, opfreehook, Perl_ophook_t, 0) /* op_free() hook */
f37b8c3 @vpit Add a pluggable hook in op_free()
vpit authored Jul 8, 2009
231
4185c91 Store C<study>'s data in in mg_ptr instead of interpreter variables.
Nicholas Clark authored Jun 27, 2011
232 /* Space for U32 */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
233 PERLVARI(I, reginterp_cnt,I32, 0) /* Whether "Regexp" was interpolated. */
234 PERLVARI(I, watchaddr, char **, 0)
235 PERLVAR(I, watchok, char *)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
236
237 /* the currently active slab in a chain of slabs of regmatch states,
238 * and the currently active state within that slab */
239
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
240 PERLVARI(I, regmatch_slab, regmatch_slab *, NULL)
241 PERLVAR(I, regmatch_state, regmatch_state *)
907b3e2 delete thrdvar.h and move its contents to intrpvar.h
Dave Mitchell authored May 20, 2007
242
243 /* Put anything new that is pointer aligned here. */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
244
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
245 PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */
246 PERLVAR(I, localizing, U8) /* are we processing a local() list? */
247 PERLVAR(I, colorset, bool) /* from regcomp.c */
248 PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */
249 PERLVAR(I, tainted, bool) /* using variables controlled by $< */
250 PERLVAR(I, tainting, bool) /* doing taint checks */
9ebf26a @rafl Add ${^GLOBAL_PHASE}
rafl authored Sep 28, 2010
251
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
252 /* This value may be set when embedding for full cleanup */
253 /* 0=none, 1=full, 2=full with checks */
801627e mod_perl is special, and assigns meaning to a perl_destruct_level of
Nicholas Clark authored Dec 3, 2007
254 /* mod_perl is special, and also assigns a meaning -1 */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
255 PERLVARI(I, perl_destruct_level, signed char, 0)
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
256
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
257 /* current phase the interpreter is in */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
258 PERLVARI(I, phase, enum perl_phase, PERL_PHASE_CONSTRUCT)
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
259
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
260 PERLVAR(I, perldb, U32)
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
261
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
262 PERLVAR(I, signals, U32) /* Using which pre-5.8 signals */
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
263
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
264 /* pseudo environmental stuff */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
265 PERLVAR(I, origargc, int)
266 PERLVAR(I, origargv, char **)
267 PERLVAR(I, envgv, GV *)
268 PERLVAR(I, incgv, GV *)
269 PERLVAR(I, hintgv, GV *)
270 PERLVAR(I, origfilename, char *)
271 PERLVAR(I, diehook, SV *)
272 PERLVAR(I, warnhook, SV *)
1d7c184 integrate mainline changes
Gurusamy Sarathy authored Dec 12, 1999
273
274 /* switches */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
275 PERLVAR(I, patchlevel, SV *)
276 PERLVAR(I, apiversion, SV *)
277 PERLVAR(I, localpatches, const char * const *)
278 PERLVARI(I, splitstr, const char *, " ")
279
280 PERLVAR(I, minus_c, bool)
281 PERLVAR(I, minus_n, bool)
282 PERLVAR(I, minus_p, bool)
283 PERLVAR(I, minus_l, bool)
284 PERLVAR(I, minus_a, bool)
285 PERLVAR(I, minus_F, bool)
286 PERLVAR(I, doswitches, bool)
287 PERLVAR(I, minus_E, bool)
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
288
289 /*
ccfc67b @jhi Missed the =head1 additions.
jhi authored Jan 3, 2002
290
2eb25c9 @jhi Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
jhi authored Jan 30, 2001
291 =for apidoc mn|bool|PL_dowarn
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
292
293 The C variable which corresponds to Perl's $^W warning variable.
294
295 =cut
296 */
297
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
298 PERLVAR(I, dowarn, U8)
299 PERLVAR(I, sawampersand, bool) /* must save all match strings */
300 PERLVAR(I, unsafe, bool)
301 PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
302 PERLVAR(I, srand_called, bool)
303 PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
304 /* Space for a U16 */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
305 PERLVAR(I, inplace, char *)
306 PERLVAR(I, e_script, SV *)
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
307
308 /* magical thingies */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
309 PERLVAR(I, basetime, Time_t) /* $^T */
310 PERLVAR(I, formfeed, SV *) /* $^L */
d4cce5f embed.pl now reads *var*.h to do its stuff.
Nick Ing-Simmons authored Nov 30, 1997
311
312
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
313 PERLVARI(I, maxsysfd, I32, MAXSYSFD)
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
314 /* top fd to pass to subprocesses */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
315 PERLVAR(I, statusvalue, I32) /* $? */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
316 #ifdef VMS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
317 PERLVAR(I, statusvalue_vms, U32)
e5218da @gisle Well defined $? and introduction of ${^CHILD_ERROR_NATIVE} [PATCH]
gisle authored May 18, 2005
318 #else
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
319 PERLVAR(I, statusvalue_posix, I32)
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
320 #endif
321
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
322 PERLVARI(I, sig_pending, int, 0) /* Number if highest signal pending */
323 PERLVAR(I, psig_pend, int *) /* per-signal "count" of pending */
157b382 Shrink 4 bytes (ILP32) from the interpreter structure.
Nicholas Clark authored Oct 8, 2007
324
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
325 /* shortcuts to various I/O objects */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
326 PERLVAR(I, stdingv, GV *) /* *STDIN */
327 PERLVAR(I, stderrgv, GV *) /* *STDERR */
328 PERLVAR(I, defgv, GV *)
329 PERLVAR(I, argvgv, GV *) /* *ARGV */
330 PERLVAR(I, argvoutgv, GV *) /* *ARGVOUT */
331 PERLVAR(I, argvout_stack, AV *)
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
332
333 /* shortcuts to regexp stuff */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
334 PERLVAR(I, replgv, GV *) /* *^R */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
335
336 /* shortcuts to misc objects */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
337 PERLVAR(I, errgv, GV *) /* *@ */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
338
339 /* shortcuts to debugging objects */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
340 PERLVAR(I, DBgv, GV *) /* *DB::DB */
341 PERLVAR(I, DBline, GV *) /* *DB::line */
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
342
343 /*
2eb25c9 @jhi Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
jhi authored Jan 30, 2001
344 =for apidoc mn|GV *|PL_DBsub
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
345 When Perl is run in debugging mode, with the B<-d> switch, this GV contains
346 the SV which holds the name of the sub being debugged. This is the C
347 variable which corresponds to Perl's $DB::sub variable. See
348 C<PL_DBsingle>.
349
2eb25c9 @jhi Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
jhi authored Jan 30, 2001
350 =for apidoc mn|SV *|PL_DBsingle
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
351 When Perl is run in debugging mode, with the B<-d> switch, this SV is a
7889fe5 UTF8 output prework.
Nick Ing-Simmons authored Dec 9, 2000
352 boolean which indicates whether subs are being single-stepped.
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
353 Single-stepping is automatically turned on after every step. This is the C
354 variable which corresponds to Perl's $DB::single variable. See
355 C<PL_DBsub>.
356
2eb25c9 @jhi Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
jhi authored Jan 30, 2001
357 =for apidoc mn|SV *|PL_DBtrace
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
358 Trace variable used when Perl is run in debugging mode, with the B<-d>
359 switch. This is the C variable which corresponds to Perl's $DB::trace
360 variable. See C<PL_DBsingle>.
361
362 =cut
363 */
364
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
365 PERLVAR(I, DBsub, GV *) /* *DB::sub */
366 PERLVAR(I, DBsingle, SV *) /* $DB::single */
367 PERLVAR(I, DBtrace, SV *) /* $DB::trace */
368 PERLVAR(I, DBsignal, SV *) /* $DB::signal */
369 PERLVAR(I, dbargs, AV *) /* args to call listed by caller function */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
370
371 /* symbol tables */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
372 PERLVAR(I, debstash, HV *) /* symbol table for perldb package */
373 PERLVAR(I, globalstash, HV *) /* global keyword overrides imported here */
374 PERLVAR(I, curstname, SV *) /* name of current package */
375 PERLVAR(I, beginav, AV *) /* names of BEGIN subroutines */
376 PERLVAR(I, endav, AV *) /* names of END subroutines */
377 PERLVAR(I, unitcheckav, AV *) /* names of UNITCHECK subroutines */
378 PERLVAR(I, checkav, AV *) /* names of CHECK subroutines */
379 PERLVAR(I, initav, AV *) /* names of INIT subroutines */
380 PERLVAR(I, strtab, HV *) /* shared string table */
381 PERLVARI(I, sub_generation, U32, 1) /* incr to invalidate method cache */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
382
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
383 /* funky return mechanisms */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
384 PERLVAR(I, forkprocess, int) /* so do_open |- can return proc# */
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
385
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
386 /* memory management */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
387 PERLVAR(I, sv_count, I32) /* how many SV* are currently allocated */
388 PERLVAR(I, sv_objcount, I32) /* how many objects are currently allocated */
389 PERLVAR(I, sv_root, SV *) /* storage for SVs belonging to interp */
390 PERLVAR(I, sv_arenaroot, SV *) /* list of areas for garbage collection */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
391
392 /* subprocess state */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
393 PERLVAR(I, fdpid, AV *) /* keep fd-to-pid mappings for my_popen */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
394
395 /* internal state */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
396 PERLVARI(I, op_mask, char *, NULL) /* masked operations for safe evals */
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
397
398 /* current interpreter roots */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
399 PERLVAR(I, main_cv, CV *)
400 PERLVAR(I, main_root, OP *)
401 PERLVAR(I, main_start, OP *)
402 PERLVAR(I, eval_root, OP *)
403 PERLVAR(I, eval_start, OP *)
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
404
405 /* runtime control stuff */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
406 PERLVARI(I, curcopdb, COP *, NULL)
49f531d Globals and structs via macros - part 1 of N
Nick Ing-Simmons authored Nov 29, 1997
407
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
408 PERLVAR(I, filemode, int) /* so nextargv() can preserve mode */
409 PERLVAR(I, lastfd, int) /* what to preserve mode on */
410 PERLVAR(I, oldname, char *) /* what to preserve mode on */
411 PERLVAR(I, Argv, const char **) /* stuff to free from do_aexec, vfork safe */
412 PERLVAR(I, Cmd, char *) /* stuff to free from do_aexec, vfork safe */
00accf8 Note the gotcha about newlines in the elements of PL_preambleav.
Nicholas Clark authored Sep 15, 2007
413 /* Elements in this array have ';' appended and are injected as a single line
414 into the tokeniser. You can't put any (literal) newlines into any program
415 you stuff in into this array, as the point where it's injected is expecting
416 a single physical line. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
417 PERLVAR(I, preambleav, AV *)
418 PERLVAR(I, mess_sv, SV *)
419 PERLVAR(I, ors_sv, SV *) /* output record separator $\ */
71eebe1 Shuffling PL_gensym saves 8 bytes on LP64 systems.
Nicholas Clark authored May 5, 2007
420 /* statics moved here for shared library purposes */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
421 PERLVARI(I, gensym, I32, 0) /* next symbol for getsym() to define */
422 PERLVARI(I, cv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
423 PERLVAR(I, taint_warn, bool) /* taint warns instead of dying */
424 PERLVARI(I, laststype, U16, OP_STAT)
425 PERLVARI(I, laststatval, int, -1)
d4cce5f embed.pl now reads *var*.h to do its stuff.
Nick Ing-Simmons authored Nov 30, 1997
426
4b556e6 @jandubois [win32] hand-applied patch along with small tweaks
jandubois authored Apr 22, 1998
427 /* interpreter atexit processing */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
428 PERLVARI(I, exitlistlen, I32, 0) /* length of same */
429 PERLVARI(I, exitlist, PerlExitListEntry *, NULL)
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
430 /* list of exit functions */
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
431
432 /*
433 =for apidoc Amn|HV*|PL_modglobal
434
7889fe5 UTF8 output prework.
Nick Ing-Simmons authored Dec 9, 2000
435 C<PL_modglobal> is a general purpose, interpreter global HV for use by
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
436 extensions that need to keep information on a per-interpreter basis.
7889fe5 UTF8 output prework.
Nick Ing-Simmons authored Dec 9, 2000
437 In a pinch, it can also be used as a symbol table for extensions
438 to share data among each other. It is a good idea to use keys
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
439 prefixed by the package name of the extension that owns the data.
440
441 =cut
442 */
443
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
444 PERLVAR(I, modglobal, HV *) /* per-interp module data */
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
445
446 /* these used to be in global before 5.004_68 */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
447 PERLVARI(I, profiledata, U32 *, NULL) /* table of ops, counts */
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
448
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
449 PERLVAR(I, compiling, COP) /* compiling/done executing marker */
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
450
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
451 PERLVAR(I, compcv, CV *) /* currently compiling subroutine */
452 PERLVAR(I, comppad, AV *) /* storage for lexically scoped temporaries */
453 PERLVAR(I, comppad_name, AV *) /* variable names for "my" variables */
454 PERLVAR(I, comppad_name_fill, I32) /* last "introduced" variable offset */
455 PERLVAR(I, comppad_name_floor, I32) /* start of vars in innermost block */
4b556e6 @jandubois [win32] hand-applied patch along with small tweaks
jandubois authored Apr 21, 1998
456
457 #ifdef HAVE_INTERP_INTERN
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
458 PERLVAR(I, sys_intern, struct interp_intern)
cb68f92 partial MULTIPLICITY cleanup
Gurusamy Sarathy authored Jun 23, 1998
459 /* platform internals */
4b556e6 @jandubois [win32] hand-applied patch along with small tweaks
jandubois authored Apr 21, 1998
460 #endif
461
7fae4e6 [asperl] added AS patch#5 (patch #4 was intentionally skipped after
Gurusamy Sarathy authored Feb 14, 1998
462 /* more statics moved here */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
463 PERLVAR(I, DBcv, CV *) /* from perl.c */
464 PERLVARI(I, generation, int, 100) /* from op.c */
5695360 add patch for C<use re 'debug'>
Ilya Zakharevich authored Jul 6, 1998
465
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
466 PERLVARI(I, in_clean_objs,bool, FALSE) /* from sv.c */
467 PERLVARI(I, in_clean_all, bool, FALSE) /* ptrs to freed SVs now legal */
468 PERLVAR(I, nomemok, bool) /* let malloc context handle nomem */
469 PERLVARI(I, savebegin, bool, FALSE) /* save BEGINs for compiler */
7fae4e6 [asperl] added AS patch#5 (patch #4 was intentionally skipped after
Gurusamy Sarathy authored Feb 14, 1998
470
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
471 PERLVAR(I, uid, Uid_t) /* current real user id */
472 PERLVAR(I, euid, Uid_t) /* current effective user id */
473 PERLVAR(I, gid, Gid_t) /* current real group id */
474 PERLVAR(I, egid, Gid_t) /* current effective group id */
475 PERLVARI(I, an, U32, 0) /* malloc sequence number */
be2b6a8 @iabyn Init PL_cop_seqmax to a high value under DEBUGGING
iabyn authored Feb 7, 2011
476
477 #ifdef DEBUGGING
478 /* exercise wrap-around */
479 #define PERL_COP_SEQMAX (U32_MAX-50)
480 #else
481 #define PERL_COP_SEQMAX 0
482 #endif
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
483 PERLVARI(I, cop_seqmax, U32, PERL_COP_SEQMAX) /* statement sequence number */
be2b6a8 @iabyn Init PL_cop_seqmax to a high value under DEBUGGING
iabyn authored Feb 7, 2011
484 #undef PERL_COP_SEQMAX
485
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
486 PERLVARI(I, evalseq, U32, 0) /* eval sequence number */
487 PERLVAR(I, origalen, U32)
488 PERLVAR(I, origenviron, char **)
ca0c25f Most platforms don't actually need PL_pidstatus, or the associated
Nicholas Clark authored Oct 26, 2005
489 #ifdef PERL_USES_PL_PIDSTATUS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
490 PERLVAR(I, pidstatus, HV *) /* pid-to-status mappings for waitpid */
ca0c25f Most platforms don't actually need PL_pidstatus, or the associated
Nicholas Clark authored Oct 26, 2005
491 #endif
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
492 PERLVAR(I, osname, char *) /* operating system */
5c728af Integrate:
Ilya Zakharevich authored Mar 31, 2003
493
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
494 PERLVAR(I, sighandlerp, Sighandler_t)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
495
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
496 PERLVARA(I, body_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
93e68bf Re: eliminate discreet arenaroots
Jim Cromie authored Nov 14, 2005
497
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
498 PERLVAR(I, unicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
499
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
500 PERLVARI(I, maxo, int, MAXO) /* maximum number of ops */
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
501
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
502 PERLVARI(I, runops, runops_proc_t, RUNOPS_DEFAULT)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
503
954c199 autogenerate API listing from comments in the source (from Benjamin
Gurusamy Sarathy authored Jan 28, 2000
504 /*
505 =for apidoc Amn|SV|PL_sv_undef
506 This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>.
507
508 =for apidoc Amn|SV|PL_sv_no
509 This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as
510 C<&PL_sv_no>.
511
512 =for apidoc Amn|SV|PL_sv_yes
513 This is the C<true> SV. See C<PL_sv_no>. Always refer to this as
514 C<&PL_sv_yes>.
515
516 =cut
517 */
518
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
519 PERLVAR(I, sv_undef, SV)
520 PERLVAR(I, sv_no, SV)
521 PERLVAR(I, sv_yes, SV)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
522
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
523 PERLVAR(I, subname, SV *) /* name of current subroutine */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
524
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
525 PERLVAR(I, subline, I32) /* line this subroutine began on */
526 PERLVAR(I, min_intro_pending, I32) /* start of vars to introduce */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
527
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
528 PERLVAR(I, max_intro_pending, I32) /* end of vars to introduce */
529 PERLVAR(I, padix, I32) /* max used index in current "register" pad */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
530
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
531 PERLVAR(I, padix_floor, I32) /* how low may inner block reset padix */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
532
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
533 PERLVAR(I, hints, U32) /* pragma-tic compile-time flags */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
534
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
535 PERLVAR(I, debug, VOL U32) /* flags given to -D switch */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
536
f0cb02e The vestigial PL_pad_reset_pending can actually be bool, rather than
Nicholas Clark authored Nov 26, 2008
537 /* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen" */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
538 PERLVARI(I, breakable_sub_gen, U32, 0)
f0cb02e The vestigial PL_pad_reset_pending can actually be bool, rather than
Nicholas Clark authored Nov 26, 2008
539
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
540 PERLVARI(I, amagic_generation, long, 0)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
541
542 #ifdef USE_LOCALE_COLLATE
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
543 PERLVAR(I, collation_name, char *) /* Name of current collation */
544 PERLVAR(I, collxfrm_base, Size_t) /* Basic overhead in *xfrm() */
545 PERLVARI(I, collxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */
546 PERLVARI(I, collation_ix, U32, 0) /* Collation generation index */
547 PERLVARI(I, collation_standard, bool, TRUE)
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
548 /* Assume simple collation */
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
549 #endif /* USE_LOCALE_COLLATE */
550
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
551
edd11d7 enable utf8 cache assertions on DEBUGGING builds
Dave Mitchell authored Sep 14, 2007
552 #if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING)
95ca869 delete unused vars PL_av_fetch_sv, PL_hv_fetch_sv
Dave Mitchell authored May 20, 2007
553 # define PERL___I -1
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
554 #else
7cd91da change #31246 unconditionally enabled utf8 cache debugging code
Dave Mitchell authored Sep 10, 2007
555 # define PERL___I 1
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
556 #endif
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
557 PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
95ca869 delete unused vars PL_av_fetch_sv, PL_hv_fetch_sv
Dave Mitchell authored May 20, 2007
558 #undef PERL___I
559
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
560
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
561 #ifdef USE_LOCALE_NUMERIC
562
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
563 PERLVARI(I, numeric_standard, bool, TRUE)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
564 /* Assume simple numerics */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
565 PERLVARI(I, numeric_local, bool, TRUE)
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
566 /* Assume local numerics */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
567 PERLVAR(I, numeric_name, char *) /* Name of current numeric locale */
568 PERLVAR(I, numeric_radix_sv, SV *) /* The radix separator if not '.' */
f811584 In intrpvar.h, move all the USE_LOCALE_NUMERIC variables together.
Nicholas Clark authored Jul 18, 2011
569
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
570 #endif /* !USE_LOCALE_NUMERIC */
571
572 /* utf8 character classes */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
573 PERLVAR(I, utf8_alnum, SV *)
574 PERLVAR(I, utf8_ascii, SV *)
575 PERLVAR(I, utf8_alpha, SV *)
576 PERLVAR(I, utf8_space, SV *)
577 PERLVAR(I, utf8_perl_space, SV *)
578 PERLVAR(I, utf8_perl_word, SV *)
579 PERLVAR(I, utf8_posix_digit, SV *)
580 PERLVAR(I, utf8_cntrl, SV *)
581 PERLVAR(I, utf8_graph, SV *)
582 PERLVAR(I, utf8_digit, SV *)
583 PERLVAR(I, utf8_upper, SV *)
584 PERLVAR(I, utf8_lower, SV *)
585 PERLVAR(I, utf8_print, SV *)
586 PERLVAR(I, utf8_punct, SV *)
587 PERLVAR(I, utf8_xdigit, SV *)
588 PERLVAR(I, utf8_mark, SV *)
589 PERLVAR(I, utf8_X_begin, SV *)
590 PERLVAR(I, utf8_X_extend, SV *)
591 PERLVAR(I, utf8_X_prepend, SV *)
592 PERLVAR(I, utf8_X_non_hangul, SV *)
593 PERLVAR(I, utf8_X_L, SV *)
594 PERLVAR(I, utf8_X_LV, SV *)
595 PERLVAR(I, utf8_X_LVT, SV *)
596 PERLVAR(I, utf8_X_T, SV *)
597 PERLVAR(I, utf8_X_V, SV *)
598 PERLVAR(I, utf8_X_LV_LVT_V, SV *)
599 PERLVAR(I, utf8_toupper, SV *)
600 PERLVAR(I, utf8_totitle, SV *)
601 PERLVAR(I, utf8_tolower, SV *)
602 PERLVAR(I, utf8_tofold, SV *)
603 PERLVAR(I, last_swash_hv, HV *)
604 PERLVAR(I, last_swash_tmps, U8 *)
605 PERLVAR(I, last_swash_slen, STRLEN)
606 PERLVARA(I, last_swash_key,10, U8)
607 PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-10 */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
608
609 #ifdef FCRYPT
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
610 PERLVARI(I, cryptseen, bool, FALSE) /* has fast crypt() been initialized? */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
611 #endif
612
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
613 PERLVAR(I, pad_reset_pending, bool) /* reset pad on next attempted alloc */
49947b4 Note where there is a U8 of space.
Nicholas Clark authored Nov 18, 2008
614
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
615 PERLVARI(I, glob_index, int, 0)
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
616
0672f40 most globals are now interpreter local; locale initialization
Gurusamy Sarathy authored Jun 10, 1999
617
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
618 PERLVAR(I, parser, yy_parser *) /* current parser state */
12fbd33 make the bison-based parser threadsafe and capable of deep
Dave Mitchell authored Feb 28, 2004
619
c4a30c8 Document the purpose of PL_psig_ptr and PL_psig_name.
Nicholas Clark authored May 19, 2009
620 /* Array of signal handlers, indexed by signal number, through which the C
621 signal handler dispatches. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
622 PERLVAR(I, psig_ptr, SV **)
c4a30c8 Document the purpose of PL_psig_ptr and PL_psig_name.
Nicholas Clark authored May 19, 2009
623 /* Array of names of signals, indexed by signal number, for (re)use as the first
d525a7b Use only one block of memory for both PL_psig_name and PL_psig_ptr.
Nicholas Clark authored May 21, 2009
624 argument to a signal handler. Only one block of memory is allocated for
625 both psig_name and psig_ptr. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
626 PERLVAR(I, psig_name, SV **)
1d7c184 integrate mainline changes
Gurusamy Sarathy authored Dec 12, 1999
627
c5be433 yet more cleanups of the PERL_OBJECT, MULTIPLICITY and USE_THREADS
Gurusamy Sarathy authored Jul 12, 1999
628 #if defined(PERL_IMPLICIT_SYS)
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
629 PERLVAR(I, Mem, struct IPerlMem *)
630 PERLVAR(I, MemShared, struct IPerlMem *)
631 PERLVAR(I, MemParse, struct IPerlMem *)
632 PERLVAR(I, Env, struct IPerlEnv *)
633 PERLVAR(I, StdIO, struct IPerlStdIO *)
634 PERLVAR(I, LIO, struct IPerlLIO *)
635 PERLVAR(I, Dir, struct IPerlDir *)
636 PERLVAR(I, Sock, struct IPerlSock *)
637 PERLVAR(I, Proc, struct IPerlProc *)
76e3520 [asperl] added AS patch#2
Gurusamy Sarathy authored Jan 30, 1998
638 #endif
1d7c184 integrate mainline changes
Gurusamy Sarathy authored Dec 12, 1999
639
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
640 PERLVAR(I, ptr_table, PTR_TBL_t *)
641 PERLVARI(I, beginav_save, AV *, NULL) /* save BEGIN{}s when compiling */
f180df8 introduce illegal symbols into null package so that gv_fetchpv(...,TRUE)
Gurusamy Sarathy authored Apr 16, 2000
642
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
643 PERLVAR(I, body_arenas, void *) /* pointer to list of body-arenas */
93e68bf Re: eliminate discreet arenaroots
Jim Cromie authored Nov 14, 2005
644
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
645
1fcf4c1 Threadsafe PMOPs! We might still win this war.
Artur Bergman authored Jul 11, 2001
646 #if defined(USE_ITHREADS)
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
647 PERLVAR(I, regex_pad, SV **) /* Shortcut into the array of
e685319 Better descriptions for PL_regex_pad and PL_regex_padav.
Nicholas Clark authored Jan 10, 2008
648 regex_padav */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
649 PERLVAR(I, regex_padav, AV *) /* All regex objects, indexed via the
e685319 Better descriptions for PL_regex_pad and PL_regex_padav.
Nicholas Clark authored Jan 10, 2008
650 values in op_pmoffset of pmop.
402d2eb Pack the recycled pad offsets into an SV at PL_regex_pad[0]. This will
Nicholas Clark authored Jan 11, 2008
651 Entry 0 is an SV whose PV is a
652 "packed" list of IVs listing
e685319 Better descriptions for PL_regex_pad and PL_regex_padav.
Nicholas Clark authored Jan 10, 2008
653 the now-free slots in the array */
1fcf4c1 Threadsafe PMOPs! We might still win this war.
Artur Bergman authored Jul 11, 2001
654 #endif
655
ea68fd6 Move the PERLVAR(Ireentrant_buffer, REENTR*) outside the ITHREADS
Nicholas Clark authored Mar 16, 2004
656 #ifdef USE_REENTRANT_API
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
657 PERLVAR(I, reentrant_buffer, REENTR *) /* here we store the _r buffers */
f5a8281 @jhi Needed by #11283.
jhi authored Jul 12, 2001
658 #endif
659
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
660 PERLVAR(I, custom_op_names, HV *) /* Names of user defined ops */
661 PERLVAR(I, custom_op_descs, HV *) /* Descriptions of user defined ops */
19e8ce8 Remove #ifdef PERL_CUSTOM_OPS, always build with PERL_CUSTOM_OPS
Artur Bergman authored Sep 10, 2001
662
a1ea730 PerlIO layer table as PL_perlio (per-interpreter)
Nick Ing-Simmons authored Oct 21, 2001
663 #ifdef PERLIO_LAYERS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
664 PERLVARI(I, perlio, PerlIOl *, NULL)
665 PERLVARI(I, known_layers, PerlIO_list_t *, NULL)
666 PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL)
a1ea730 PerlIO layer table as PL_perlio (per-interpreter)
Nick Ing-Simmons authored Oct 21, 2001
667 #endif
668
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
669 PERLVARI(I, encoding, SV *, NULL) /* character encoding */
0a37880 @jhi Add the encoding pragma to control the "upgrade"
jhi authored Oct 28, 2001
670
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
671 PERLVAR(I, debug_pad, struct perl_debug_pad) /* always needed because of the re extension */
ce33321 @jhi Create a per-interpeter debug scratchpad container
jhi authored Nov 20, 2001
672
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
673 PERLVAR(I, utf8_idstart, SV *)
674 PERLVAR(I, utf8_idcont, SV *)
675 PERLVAR(I, utf8_xidstart, SV *)
676 PERLVAR(I, utf8_xidcont, SV *)
82686b0 @jhi my $utf8here, our $utf8here, and package variable $utf8here.
jhi authored Apr 16, 2002
677
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
678 PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
147f47d Turn the sort RealCmp for stable quicksorts into a
Artur Bergman authored May 14, 2002
679
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
680 PERLVARI(I, checkav_save, AV *, NULL) /* save CHECK{}s when compiling */
681 PERLVARI(I, unitcheckav_save, AV *, NULL)
682 /* save UNITCHECK{}s when compiling */
ece599b @rgs B::check_av() ; B::Deparse for CHECK blocks
rgs authored Aug 28, 2002
683
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
684 PERLVARI(I, clocktick, long, 0) /* this many times() ticks in a second */
5311654 @jhi use sysconf(_SC_CLK_TCK) for times()
jhi authored Sep 1, 2002
685
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
686 PERLVAR(I, stashcache, HV *) /* Cache to speed up S_method_common */
9f7da6d By re-ordering declarations in interpvar.h and thrdvar.h, reduce the
Nicholas Clark authored Apr 21, 2007
687
15a5279 @jhi Move the thread *hook into interpreter.
jhi authored May 11, 2003
688 /* Hooks to shared SVs and locks. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
689 PERLVARI(I, sharehook, share_proc_t, Perl_sv_nosharing)
690 PERLVARI(I, lockhook, share_proc_t, Perl_sv_nosharing)
d0647d4 Avoid using space to create 2 functions just to force mathoms to be
Nicholas Clark authored Jan 29, 2006
691 #ifdef NO_MATHOMS
692 # define PERL_UNLOCK_HOOK Perl_sv_nosharing
693 #else
694 /* This reference ensures that the mathoms are linked with perl */
695 # define PERL_UNLOCK_HOOK Perl_sv_nounlocking
696 #endif
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
697 PERLVARI(I, unlockhook, share_proc_t, PERL_UNLOCK_HOOK)
d0647d4 Avoid using space to create 2 functions just to force mathoms to be
Nicholas Clark authored Jan 29, 2006
698
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
699 PERLVARI(I, threadhook, thrhook_proc_t, Perl_nothreadhook)
15a5279 @jhi Move the thread *hook into interpreter.
jhi authored May 11, 2003
700
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
701 /* Can shared object be destroyed */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
702 PERLVARI(I, destroyhook, destroyable_proc_t, Perl_sv_destroyable)
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
703
01d6546 @dgl Microperl doesn't do signal handlers, ifdef some handling code
dgl authored Mar 7, 2011
704 #ifndef PERL_MICRO
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
705 PERLVARI(I, signalhook, despatch_signals_proc_t, Perl_despatch_signals)
01d6546 @dgl Microperl doesn't do signal handlers, ifdef some handling code
dgl authored Mar 7, 2011
706 #endif
92f022b @iabyn add PL_signalhook to hook into signal dispatch
iabyn authored Jun 4, 2010
707
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
708 PERLVARI(I, hash_seed, UV, 0) /* Hash initializer */
504f80c @jhi Bite the bullet and apply the hash randomisation patch.
jhi authored Jun 26, 2003
709
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
710 PERLVARI(I, rehash_seed, UV, 0) /* 582 hash initializer */
4b5190b Plan C for foiling the algorithmic complexity attack
Nicholas Clark authored Oct 16, 2003
711
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
712 PERLVARI(I, isarev, HV *, NULL) /* Reverse map of @ISA dependencies */
f16dd61 re-implement MY_CXT API more efficiently, and add explicit
Dave Mitchell authored Dec 29, 2005
713
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
714 /* Register of known Method Resolution Orders.
715 What this actually points to is an implementation detail (it may change to
716 a structure incorporating a reference count - use mro_get_from_name to
717 retrieve a C<struct mro_alg *> */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
718 PERLVAR(I, registered_mros, HV *)
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
719
720 /* Compile-time block start/end hooks */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
721 PERLVAR(I, blockhooks, AV *)
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
722
723 /* Everything that folds to a given character, for case insensitivity regex
724 * matching */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
725 PERLVARI(I, utf8_foldclosures, HV *, NULL)
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
726
727 /* List of characters that participate in folds (except marks, etc in
728 * multi-char folds) */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
729 PERLVARI(I, utf8_foldable, SV *, NULL)
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
730
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
731 PERLVAR(I, custom_ops, HV *) /* custom op registrations */
9e08d3a In perlvar.h, move the always-present globals above those conditional…
Nicholas Clark authored May 1, 2011
732
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
733 PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
734
ffee3ff "Bake" the values of PERL_REVISION, PERL_VERSION and PERL_SUBVERSION
Nicholas Clark authored Nov 7, 2007
735 /* The last unconditional member of the interpreter structure when 5.10.0 was
736 released. The offset of the end of this is baked into a global variable in
737 any shared perl library which will allow a sanity test in future perl
738 releases. */
30b0736 Reorder interpreter struct to remove alignment holes
Nicholas Clark authored May 2, 2011
739 #define PERL_LAST_5_16_0_INTERP_MEMBER Ireentrant_retint
ffee3ff "Bake" the values of PERL_REVISION, PERL_VERSION and PERL_SUBVERSION
Nicholas Clark authored Nov 7, 2007
740
f16dd61 re-implement MY_CXT API more efficiently, and add explicit
Dave Mitchell authored Dec 29, 2005
741 #ifdef PERL_IMPLICIT_CONTEXT
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
742 PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */
743 PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
744 # ifdef PERL_GLOBAL_STRUCT_PRIVATE
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
745 PERLVARI(I, my_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
746 # endif
f16dd61 re-implement MY_CXT API more efficiently, and add explicit
Dave Mitchell authored Dec 29, 2005
747 #endif
748
7cb608b Enhance PERL_TRACK_MEMPOOL so that it also emulates the PerlHost
Nicholas Clark authored Feb 4, 2006
749 #ifdef PERL_TRACK_MEMPOOL
750 /* For use with the memory debugging code in util.c */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
751 PERLVAR(I, memory_debug_header, struct perl_memory_debug_header)
7cb608b Enhance PERL_TRACK_MEMPOOL so that it also emulates the PerlHost
Nicholas Clark authored Feb 4, 2006
752 #endif
753
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
754 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
755 /* File descriptor to talk to the child which dumps scalars. */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
756 PERLVARI(I, dumper_fd, int, -1)
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
757 #endif
758
759 /* Stores the PPID */
760 #ifdef THREADS_HAVE_PIDS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
761 PERLVARI(I, ppid, IV, 0)
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
762 #endif
763
764 #ifdef PERL_MAD
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
765 PERLVARI(I, madskills, bool, FALSE) /* preserve all syntactic info */
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
766 /* (MAD = Misc Attribute Decoration) */
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
767 PERLVARI(I, xmlfp, PerlIO *, NULL)
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
768 #endif
769
770 #ifdef PL_OP_SLAB_ALLOC
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
771 PERLVAR(I, OpPtr, I32 **)
772 PERLVARI(I, OpSpace, I32, 0)
773 PERLVAR(I, OpSlab, I32 *)
ba6d381 Move (most of) the conditionally compiled members of the interpreter
Nicholas Clark authored Oct 8, 2007
774 #endif
775
f1fac47 Add a new compile option PERL_DEBUG_READONLY_OPS which marks the optree
Nicholas Clark authored Apr 2, 2007
776 #ifdef PERL_DEBUG_READONLY_OPS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
777 PERLVARI(I, slabs, I32**, NULL) /* Array of slabs that have been allocated */
778 PERLVARI(I, slab_count, U32, 0) /* Size of the array */
f1fac47 Add a new compile option PERL_DEBUG_READONLY_OPS which marks the optree
Nicholas Clark authored Apr 2, 2007
779 #endif
780
d7a2c63 Add SV allocation tracing to -Dm and PERL_MEM_LOG
Marcus Holland-Moritz authored Oct 22, 2008
781 #ifdef DEBUG_LEAKING_SCALARS
115ff74 Simplify embedvar.h, removing a level of macro indirection for PL_* v…
Nicholas Clark authored Aug 7, 2011
782 PERLVARI(I, sv_serial, U32, 0) /* SV serial number, used in sv.c */
d7a2c63 Add SV allocation tracing to -Dm and PERL_MEM_LOG
Marcus Holland-Moritz authored Oct 22, 2008
783 #endif
784
157b382 Shrink 4 bytes (ILP32) from the interpreter structure.
Nicholas Clark authored Oct 8, 2007
785 /* If you are adding a U8 or U16, check to see if there are 'Space' comments
786 * above on where there are gaps which currently will be structure padding. */
d95e864 More variable reordering saves another 40 bytes from the interpreter
Nicholas Clark authored Apr 23, 2007
787
788 /* Within a stable branch, new variables must be added to the very end, before
789 * this comment, for binary compatibility (the offsets of the old members must
790 * not change).
b83cd12 @jhi Comment tweakage.
jhi authored May 29, 2003
791 * (Don't forget to add your variable also to perl_clone()!)
e3acbfd move new variables to the end of the interpreter structure (for
Gurusamy Sarathy authored Jul 14, 2000
792 * XSUB.h provides wrapper functions via perlapi.h that make this
b83cd12 @jhi Comment tweakage.
jhi authored May 29, 2003
793 * irrelevant, but not all code may be expected to #include XSUB.h.
794 */
Something went wrong with that request. Please try again.