This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix broken PERL_MEM_LOG under threads
[perl5.git] / embedvar.h
1 /* -*- buffer-read-only: t -*-
2  *
3  *    embedvar.h
4  *
5  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
6  *    2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
7  *
8  *    You may distribute under the terms of either the GNU General Public
9  *    License or the Artistic License, as specified in the README file.
10  *
11  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
12  * This file is built by regen/embed.pl from data in embed.fnc,
13  * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
14  * Any changes made here will be lost!
15  *
16  * Edit those files and run 'make regen_headers' to effect changes.
17  */
18
19 /* (Doing namespace management portably in C is really gross.) */
20
21 /*
22    The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
23    are supported:
24      1) none
25      2) MULTIPLICITY    # supported for compatibility
26      3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
27
28    All other combinations of these flags are errors.
29
30    only #3 is supported directly, while #2 is a special
31    case of #3 (supported by redefining vTHX appropriately).
32 */
33
34 #if defined(MULTIPLICITY)
35 /* cases 2 and 3 above */
36
37 #  if defined(PERL_IMPLICIT_CONTEXT)
38 #    define vTHX        aTHX
39 #  else
40 #    define vTHX        PERL_GET_INTERP
41 #  endif
42
43 #define PL_AboveLatin1          (vTHX->IAboveLatin1)
44 #define PL_Assigned_invlist     (vTHX->IAssigned_invlist)
45 #define PL_CCC_non0_non230      (vTHX->ICCC_non0_non230)
46 #define PL_DBcontrol            (vTHX->IDBcontrol)
47 #define PL_DBcv                 (vTHX->IDBcv)
48 #define PL_DBgv                 (vTHX->IDBgv)
49 #define PL_DBline               (vTHX->IDBline)
50 #define PL_DBsignal             (vTHX->IDBsignal)
51 #define PL_DBsingle             (vTHX->IDBsingle)
52 #define PL_DBsub                (vTHX->IDBsub)
53 #define PL_DBtrace              (vTHX->IDBtrace)
54 #define PL_Dir                  (vTHX->IDir)
55 #define PL_Env                  (vTHX->IEnv)
56 #define PL_GCB_invlist          (vTHX->IGCB_invlist)
57 #define PL_HasMultiCharFold     (vTHX->IHasMultiCharFold)
58 #define PL_InBitmap             (vTHX->IInBitmap)
59 #define PL_InMultiCharFold      (vTHX->IInMultiCharFold)
60 #define PL_LB_invlist           (vTHX->ILB_invlist)
61 #define PL_LIO                  (vTHX->ILIO)
62 #define PL_Latin1               (vTHX->ILatin1)
63 #define PL_Mem                  (vTHX->IMem)
64 #define PL_MemParse             (vTHX->IMemParse)
65 #define PL_MemShared            (vTHX->IMemShared)
66 #define PL_Posix_ptrs           (vTHX->IPosix_ptrs)
67 #define PL_Private_Use          (vTHX->IPrivate_Use)
68 #define PL_Proc                 (vTHX->IProc)
69 #define PL_SB_invlist           (vTHX->ISB_invlist)
70 #define PL_SCX_invlist          (vTHX->ISCX_invlist)
71 #define PL_Sock                 (vTHX->ISock)
72 #define PL_StdIO                (vTHX->IStdIO)
73 #define PL_Sv                   (vTHX->ISv)
74 #define PL_TR_SPECIAL_HANDLING_UTF8     (vTHX->ITR_SPECIAL_HANDLING_UTF8)
75 #define PL_UpperLatin1          (vTHX->IUpperLatin1)
76 #define PL_WB_invlist           (vTHX->IWB_invlist)
77 #define PL_XPosix_ptrs          (vTHX->IXPosix_ptrs)
78 #define PL_Xpv                  (vTHX->IXpv)
79 #define PL_an                   (vTHX->Ian)
80 #define PL_argvgv               (vTHX->Iargvgv)
81 #define PL_argvout_stack        (vTHX->Iargvout_stack)
82 #define PL_argvoutgv            (vTHX->Iargvoutgv)
83 #define PL_basetime             (vTHX->Ibasetime)
84 #define PL_beginav              (vTHX->Ibeginav)
85 #define PL_beginav_save         (vTHX->Ibeginav_save)
86 #define PL_blockhooks           (vTHX->Iblockhooks)
87 #define PL_body_arenas          (vTHX->Ibody_arenas)
88 #define PL_body_roots           (vTHX->Ibody_roots)
89 #define PL_bodytarget           (vTHX->Ibodytarget)
90 #define PL_breakable_sub_gen    (vTHX->Ibreakable_sub_gen)
91 #define PL_checkav              (vTHX->Icheckav)
92 #define PL_checkav_save         (vTHX->Icheckav_save)
93 #define PL_chopset              (vTHX->Ichopset)
94 #define PL_clocktick            (vTHX->Iclocktick)
95 #define PL_collation_ix         (vTHX->Icollation_ix)
96 #define PL_collation_name       (vTHX->Icollation_name)
97 #define PL_collation_standard   (vTHX->Icollation_standard)
98 #define PL_collxfrm_base        (vTHX->Icollxfrm_base)
99 #define PL_collxfrm_mult        (vTHX->Icollxfrm_mult)
100 #define PL_colors               (vTHX->Icolors)
101 #define PL_colorset             (vTHX->Icolorset)
102 #define PL_compcv               (vTHX->Icompcv)
103 #define PL_compiling            (vTHX->Icompiling)
104 #define PL_comppad              (vTHX->Icomppad)
105 #define PL_comppad_name         (vTHX->Icomppad_name)
106 #define PL_comppad_name_fill    (vTHX->Icomppad_name_fill)
107 #define PL_comppad_name_floor   (vTHX->Icomppad_name_floor)
108 #define PL_constpadix           (vTHX->Iconstpadix)
109 #define PL_cop_seqmax           (vTHX->Icop_seqmax)
110 #define PL_curcop               (vTHX->Icurcop)
111 #define PL_curcopdb             (vTHX->Icurcopdb)
112 #define PL_curlocales           (vTHX->Icurlocales)
113 #define PL_curpad               (vTHX->Icurpad)
114 #define PL_curpm                (vTHX->Icurpm)
115 #define PL_curpm_under          (vTHX->Icurpm_under)
116 #define PL_curstack             (vTHX->Icurstack)
117 #define PL_curstackinfo         (vTHX->Icurstackinfo)
118 #define PL_curstash             (vTHX->Icurstash)
119 #define PL_curstname            (vTHX->Icurstname)
120 #define PL_custom_op_descs      (vTHX->Icustom_op_descs)
121 #define PL_custom_op_names      (vTHX->Icustom_op_names)
122 #define PL_custom_ops           (vTHX->Icustom_ops)
123 #define PL_cv_has_eval          (vTHX->Icv_has_eval)
124 #define PL_dbargs               (vTHX->Idbargs)
125 #define PL_debstash             (vTHX->Idebstash)
126 #define PL_debug                (vTHX->Idebug)
127 #define PL_debug_pad            (vTHX->Idebug_pad)
128 #define PL_def_layerlist        (vTHX->Idef_layerlist)
129 #define PL_defgv                (vTHX->Idefgv)
130 #define PL_defoutgv             (vTHX->Idefoutgv)
131 #define PL_defstash             (vTHX->Idefstash)
132 #define PL_delaymagic           (vTHX->Idelaymagic)
133 #define PL_delaymagic_egid      (vTHX->Idelaymagic_egid)
134 #define PL_delaymagic_euid      (vTHX->Idelaymagic_euid)
135 #define PL_delaymagic_gid       (vTHX->Idelaymagic_gid)
136 #define PL_delaymagic_uid       (vTHX->Idelaymagic_uid)
137 #define PL_destroyhook          (vTHX->Idestroyhook)
138 #define PL_diehook              (vTHX->Idiehook)
139 #define PL_doswitches           (vTHX->Idoswitches)
140 #define PL_dowarn               (vTHX->Idowarn)
141 #define PL_dump_re_max_len      (vTHX->Idump_re_max_len)
142 #define PL_dumper_fd            (vTHX->Idumper_fd)
143 #define PL_dumpindent           (vTHX->Idumpindent)
144 #define PL_e_script             (vTHX->Ie_script)
145 #define PL_efloatbuf            (vTHX->Iefloatbuf)
146 #define PL_efloatsize           (vTHX->Iefloatsize)
147 #define PL_endav                (vTHX->Iendav)
148 #define PL_envgv                (vTHX->Ienvgv)
149 #define PL_errgv                (vTHX->Ierrgv)
150 #define PL_errors               (vTHX->Ierrors)
151 #define PL_eval_root            (vTHX->Ieval_root)
152 #define PL_eval_start           (vTHX->Ieval_start)
153 #define PL_evalseq              (vTHX->Ievalseq)
154 #define PL_exit_flags           (vTHX->Iexit_flags)
155 #define PL_exitlist             (vTHX->Iexitlist)
156 #define PL_exitlistlen          (vTHX->Iexitlistlen)
157 #define PL_fdpid                (vTHX->Ifdpid)
158 #define PL_filemode             (vTHX->Ifilemode)
159 #define PL_firstgv              (vTHX->Ifirstgv)
160 #define PL_forkprocess          (vTHX->Iforkprocess)
161 #define PL_formtarget           (vTHX->Iformtarget)
162 #define PL_generation           (vTHX->Igeneration)
163 #define PL_gensym               (vTHX->Igensym)
164 #define PL_globalstash          (vTHX->Iglobalstash)
165 #define PL_globhook             (vTHX->Iglobhook)
166 #define PL_hash_rand_bits       (vTHX->Ihash_rand_bits)
167 #define PL_hash_rand_bits_enabled       (vTHX->Ihash_rand_bits_enabled)
168 #define PL_hintgv               (vTHX->Ihintgv)
169 #define PL_hv_fetch_ent_mh      (vTHX->Ihv_fetch_ent_mh)
170 #define PL_in_clean_all         (vTHX->Iin_clean_all)
171 #define PL_in_clean_objs        (vTHX->Iin_clean_objs)
172 #define PL_in_eval              (vTHX->Iin_eval)
173 #define PL_in_load_module       (vTHX->Iin_load_module)
174 #define PL_in_some_fold         (vTHX->Iin_some_fold)
175 #define PL_in_utf8_COLLATE_locale       (vTHX->Iin_utf8_COLLATE_locale)
176 #define PL_in_utf8_CTYPE_locale (vTHX->Iin_utf8_CTYPE_locale)
177 #define PL_in_utf8_turkic_locale        (vTHX->Iin_utf8_turkic_locale)
178 #define PL_incgv                (vTHX->Iincgv)
179 #define PL_initav               (vTHX->Iinitav)
180 #define PL_inplace              (vTHX->Iinplace)
181 #define PL_internal_random_state        (vTHX->Iinternal_random_state)
182 #define PL_isarev               (vTHX->Iisarev)
183 #define PL_known_layers         (vTHX->Iknown_layers)
184 #define PL_langinfo_buf         (vTHX->Ilanginfo_buf)
185 #define PL_langinfo_bufsize     (vTHX->Ilanginfo_bufsize)
186 #define PL_last_in_gv           (vTHX->Ilast_in_gv)
187 #define PL_lastfd               (vTHX->Ilastfd)
188 #define PL_lastgotoprobe        (vTHX->Ilastgotoprobe)
189 #define PL_laststatval          (vTHX->Ilaststatval)
190 #define PL_laststype            (vTHX->Ilaststype)
191 #define PL_lc_numeric_mutex_depth       (vTHX->Ilc_numeric_mutex_depth)
192 #define PL_locale_utf8ness      (vTHX->Ilocale_utf8ness)
193 #define PL_localizing           (vTHX->Ilocalizing)
194 #define PL_localpatches         (vTHX->Ilocalpatches)
195 #define PL_lockhook             (vTHX->Ilockhook)
196 #define PL_main_cv              (vTHX->Imain_cv)
197 #define PL_main_root            (vTHX->Imain_root)
198 #define PL_main_start           (vTHX->Imain_start)
199 #define PL_mainstack            (vTHX->Imainstack)
200 #define PL_markstack            (vTHX->Imarkstack)
201 #define PL_markstack_max        (vTHX->Imarkstack_max)
202 #define PL_markstack_ptr        (vTHX->Imarkstack_ptr)
203 #define PL_max_intro_pending    (vTHX->Imax_intro_pending)
204 #define PL_maxsysfd             (vTHX->Imaxsysfd)
205 #define PL_mbrlen_ps            (vTHX->Imbrlen_ps)
206 #define PL_mbrtowc_ps           (vTHX->Imbrtowc_ps)
207 #define PL_mem_log              (vTHX->Imem_log)
208 #define PL_memory_debug_header  (vTHX->Imemory_debug_header)
209 #define PL_mess_sv              (vTHX->Imess_sv)
210 #define PL_min_intro_pending    (vTHX->Imin_intro_pending)
211 #define PL_minus_E              (vTHX->Iminus_E)
212 #define PL_minus_F              (vTHX->Iminus_F)
213 #define PL_minus_a              (vTHX->Iminus_a)
214 #define PL_minus_c              (vTHX->Iminus_c)
215 #define PL_minus_l              (vTHX->Iminus_l)
216 #define PL_minus_n              (vTHX->Iminus_n)
217 #define PL_minus_p              (vTHX->Iminus_p)
218 #define PL_modcount             (vTHX->Imodcount)
219 #define PL_modglobal            (vTHX->Imodglobal)
220 #define PL_multideref_pc        (vTHX->Imultideref_pc)
221 #define PL_my_cxt_list          (vTHX->Imy_cxt_list)
222 #define PL_my_cxt_size          (vTHX->Imy_cxt_size)
223 #define PL_na                   (vTHX->Ina)
224 #define PL_nomemok              (vTHX->Inomemok)
225 #define PL_numeric_name         (vTHX->Inumeric_name)
226 #define PL_numeric_radix_sv     (vTHX->Inumeric_radix_sv)
227 #define PL_numeric_standard     (vTHX->Inumeric_standard)
228 #define PL_numeric_underlying   (vTHX->Inumeric_underlying)
229 #define PL_numeric_underlying_is_standard       (vTHX->Inumeric_underlying_is_standard)
230 #define PL_ofsgv                (vTHX->Iofsgv)
231 #define PL_oldname              (vTHX->Ioldname)
232 #define PL_op                   (vTHX->Iop)
233 #define PL_op_exec_cnt          (vTHX->Iop_exec_cnt)
234 #define PL_op_mask              (vTHX->Iop_mask)
235 #define PL_opfreehook           (vTHX->Iopfreehook)
236 #define PL_origalen             (vTHX->Iorigalen)
237 #define PL_origargc             (vTHX->Iorigargc)
238 #define PL_origargv             (vTHX->Iorigargv)
239 #define PL_origenviron          (vTHX->Iorigenviron)
240 #define PL_origfilename         (vTHX->Iorigfilename)
241 #define PL_ors_sv               (vTHX->Iors_sv)
242 #define PL_osname               (vTHX->Iosname)
243 #define PL_pad_reset_pending    (vTHX->Ipad_reset_pending)
244 #define PL_padix                (vTHX->Ipadix)
245 #define PL_padix_floor          (vTHX->Ipadix_floor)
246 #define PL_padlist_generation   (vTHX->Ipadlist_generation)
247 #define PL_padname_const        (vTHX->Ipadname_const)
248 #define PL_padname_undef        (vTHX->Ipadname_undef)
249 #define PL_parser               (vTHX->Iparser)
250 #define PL_patchlevel           (vTHX->Ipatchlevel)
251 #define PL_peepp                (vTHX->Ipeepp)
252 #define PL_perl_destruct_level  (vTHX->Iperl_destruct_level)
253 #define PL_perldb               (vTHX->Iperldb)
254 #define PL_perlio               (vTHX->Iperlio)
255 #define PL_phase                (vTHX->Iphase)
256 #define PL_pidstatus            (vTHX->Ipidstatus)
257 #define PL_preambleav           (vTHX->Ipreambleav)
258 #define PL_profiledata          (vTHX->Iprofiledata)
259 #define PL_psig_name            (vTHX->Ipsig_name)
260 #define PL_psig_pend            (vTHX->Ipsig_pend)
261 #define PL_psig_ptr             (vTHX->Ipsig_ptr)
262 #define PL_ptr_table            (vTHX->Iptr_table)
263 #define PL_random_state         (vTHX->Irandom_state)
264 #define PL_reentrant_buffer     (vTHX->Ireentrant_buffer)
265 #define PL_reentrant_retint     (vTHX->Ireentrant_retint)
266 #define PL_reg_curpm            (vTHX->Ireg_curpm)
267 #define PL_regex_pad            (vTHX->Iregex_pad)
268 #define PL_regex_padav          (vTHX->Iregex_padav)
269 #define PL_registered_mros      (vTHX->Iregistered_mros)
270 #define PL_regmatch_slab        (vTHX->Iregmatch_slab)
271 #define PL_regmatch_state       (vTHX->Iregmatch_state)
272 #define PL_replgv               (vTHX->Ireplgv)
273 #define PL_restartjmpenv        (vTHX->Irestartjmpenv)
274 #define PL_restartop            (vTHX->Irestartop)
275 #define PL_rpeepp               (vTHX->Irpeepp)
276 #define PL_rs                   (vTHX->Irs)
277 #define PL_runops               (vTHX->Irunops)
278 #define PL_savebegin            (vTHX->Isavebegin)
279 #define PL_savestack            (vTHX->Isavestack)
280 #define PL_savestack_ix         (vTHX->Isavestack_ix)
281 #define PL_savestack_max        (vTHX->Isavestack_max)
282 #ifndef PL_sawampersand
283 #define PL_sawampersand         (vTHX->Isawampersand)
284 #endif
285 #define PL_scopestack           (vTHX->Iscopestack)
286 #define PL_scopestack_ix        (vTHX->Iscopestack_ix)
287 #define PL_scopestack_max       (vTHX->Iscopestack_max)
288 #define PL_scopestack_name      (vTHX->Iscopestack_name)
289 #define PL_secondgv             (vTHX->Isecondgv)
290 #define PL_setlocale_buf        (vTHX->Isetlocale_buf)
291 #define PL_setlocale_bufsize    (vTHX->Isetlocale_bufsize)
292 #define PL_sharehook            (vTHX->Isharehook)
293 #define PL_sig_pending          (vTHX->Isig_pending)
294 #define PL_sighandler1p         (vTHX->Isighandler1p)
295 #define PL_sighandler3p         (vTHX->Isighandler3p)
296 #define PL_sighandlerp          (vTHX->Isighandlerp)
297 #define PL_signalhook           (vTHX->Isignalhook)
298 #define PL_signals              (vTHX->Isignals)
299 #define PL_sortcop              (vTHX->Isortcop)
300 #define PL_sortstash            (vTHX->Isortstash)
301 #define PL_splitstr             (vTHX->Isplitstr)
302 #define PL_srand_called         (vTHX->Isrand_called)
303 #define PL_stack_base           (vTHX->Istack_base)
304 #define PL_stack_max            (vTHX->Istack_max)
305 #define PL_stack_sp             (vTHX->Istack_sp)
306 #define PL_start_env            (vTHX->Istart_env)
307 #define PL_stashcache           (vTHX->Istashcache)
308 #define PL_stashpad             (vTHX->Istashpad)
309 #define PL_stashpadix           (vTHX->Istashpadix)
310 #define PL_stashpadmax          (vTHX->Istashpadmax)
311 #define PL_statcache            (vTHX->Istatcache)
312 #define PL_statgv               (vTHX->Istatgv)
313 #define PL_statname             (vTHX->Istatname)
314 #define PL_statusvalue          (vTHX->Istatusvalue)
315 #define PL_statusvalue_posix    (vTHX->Istatusvalue_posix)
316 #define PL_statusvalue_vms      (vTHX->Istatusvalue_vms)
317 #define PL_stderrgv             (vTHX->Istderrgv)
318 #define PL_stdingv              (vTHX->Istdingv)
319 #define PL_strtab               (vTHX->Istrtab)
320 #define PL_strxfrm_NUL_replacement      (vTHX->Istrxfrm_NUL_replacement)
321 #define PL_strxfrm_is_behaved   (vTHX->Istrxfrm_is_behaved)
322 #define PL_strxfrm_max_cp       (vTHX->Istrxfrm_max_cp)
323 #define PL_sub_generation       (vTHX->Isub_generation)
324 #define PL_subline              (vTHX->Isubline)
325 #define PL_subname              (vTHX->Isubname)
326 #define PL_sv_arenaroot         (vTHX->Isv_arenaroot)
327 #define PL_sv_consts            (vTHX->Isv_consts)
328 #define PL_sv_count             (vTHX->Isv_count)
329 #define PL_sv_immortals         (vTHX->Isv_immortals)
330 #define PL_sv_no                (vTHX->Isv_no)
331 #define PL_sv_root              (vTHX->Isv_root)
332 #define PL_sv_serial            (vTHX->Isv_serial)
333 #define PL_sv_undef             (vTHX->Isv_undef)
334 #define PL_sv_yes               (vTHX->Isv_yes)
335 #define PL_sv_zero              (vTHX->Isv_zero)
336 #define PL_sys_intern           (vTHX->Isys_intern)
337 #define PL_taint_warn           (vTHX->Itaint_warn)
338 #define PL_tainted              (vTHX->Itainted)
339 #define PL_tainting             (vTHX->Itainting)
340 #define PL_threadhook           (vTHX->Ithreadhook)
341 #define PL_tmps_floor           (vTHX->Itmps_floor)
342 #define PL_tmps_ix              (vTHX->Itmps_ix)
343 #define PL_tmps_max             (vTHX->Itmps_max)
344 #define PL_tmps_stack           (vTHX->Itmps_stack)
345 #define PL_top_env              (vTHX->Itop_env)
346 #define PL_toptarget            (vTHX->Itoptarget)
347 #define PL_underlying_numeric_obj       (vTHX->Iunderlying_numeric_obj)
348 #define PL_unicode              (vTHX->Iunicode)
349 #define PL_unitcheckav          (vTHX->Iunitcheckav)
350 #define PL_unitcheckav_save     (vTHX->Iunitcheckav_save)
351 #define PL_unlockhook           (vTHX->Iunlockhook)
352 #define PL_unsafe               (vTHX->Iunsafe)
353 #define PL_utf8_charname_begin  (vTHX->Iutf8_charname_begin)
354 #define PL_utf8_charname_continue       (vTHX->Iutf8_charname_continue)
355 #define PL_utf8_foldclosures    (vTHX->Iutf8_foldclosures)
356 #define PL_utf8_idcont          (vTHX->Iutf8_idcont)
357 #define PL_utf8_idstart         (vTHX->Iutf8_idstart)
358 #define PL_utf8_mark            (vTHX->Iutf8_mark)
359 #define PL_utf8_perl_idcont     (vTHX->Iutf8_perl_idcont)
360 #define PL_utf8_perl_idstart    (vTHX->Iutf8_perl_idstart)
361 #define PL_utf8_tofold          (vTHX->Iutf8_tofold)
362 #define PL_utf8_tolower         (vTHX->Iutf8_tolower)
363 #define PL_utf8_tosimplefold    (vTHX->Iutf8_tosimplefold)
364 #define PL_utf8_totitle         (vTHX->Iutf8_totitle)
365 #define PL_utf8_toupper         (vTHX->Iutf8_toupper)
366 #define PL_utf8_xidcont         (vTHX->Iutf8_xidcont)
367 #define PL_utf8_xidstart        (vTHX->Iutf8_xidstart)
368 #define PL_utf8cache            (vTHX->Iutf8cache)
369 #define PL_utf8locale           (vTHX->Iutf8locale)
370 #define PL_warn_locale          (vTHX->Iwarn_locale)
371 #define PL_warnhook             (vTHX->Iwarnhook)
372 #define PL_watchaddr            (vTHX->Iwatchaddr)
373 #define PL_watchok              (vTHX->Iwatchok)
374 #define PL_wcrtomb_ps           (vTHX->Iwcrtomb_ps)
375 #define PL_xsubfilename         (vTHX->Ixsubfilename)
376
377 #endif  /* MULTIPLICITY */
378
379 /* ex: set ro: */