blob: ae37202410224451f99b95edf13beefab3b54546 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
|
/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
This file is built by embed.pl from global.sym, intrpvar.h,
and thrdvar.h. Any changes made here will be lost!
*/
/* (Doing namespace management portably in C is really gross.) */
/* EMBED has no run-time penalty, but helps keep the Perl namespace
from colliding with that used by other libraries pulled in
by extensions or by embedding perl. Allow a cc -DNO_EMBED
override, however, to keep binary compatability with previous
versions of perl.
*/
/* Put interpreter-specific symbols into a struct? */
#ifdef MULTIPLICITY
#ifndef USE_THREADS
/* If we do not have threads then per-thread vars are per-interpreter */
#define PL_Sv (curinterp->TSv)
#define PL_Xpv (curinterp->TXpv)
#define PL_av_fetch_sv (curinterp->Tav_fetch_sv)
#define PL_bodytarget (curinterp->Tbodytarget)
#define PL_bostr (curinterp->Tbostr)
#define PL_chopset (curinterp->Tchopset)
#define PL_colors (curinterp->Tcolors)
#define PL_colorset (curinterp->Tcolorset)
#define PL_curcop (curinterp->Tcurcop)
#define PL_curpad (curinterp->Tcurpad)
#define PL_curpm (curinterp->Tcurpm)
#define PL_curstack (curinterp->Tcurstack)
#define PL_curstackinfo (curinterp->Tcurstackinfo)
#define PL_curstash (curinterp->Tcurstash)
#define PL_defoutgv (curinterp->Tdefoutgv)
#define PL_defstash (curinterp->Tdefstash)
#define PL_delaymagic (curinterp->Tdelaymagic)
#define PL_dirty (curinterp->Tdirty)
#define PL_extralen (curinterp->Textralen)
#define PL_firstgv (curinterp->Tfirstgv)
#define PL_formtarget (curinterp->Tformtarget)
#define PL_hv_fetch_ent_mh (curinterp->Thv_fetch_ent_mh)
#define PL_hv_fetch_sv (curinterp->Thv_fetch_sv)
#define PL_in_eval (curinterp->Tin_eval)
#define PL_last_in_gv (curinterp->Tlast_in_gv)
#define PL_lastgotoprobe (curinterp->Tlastgotoprobe)
#define PL_lastscream (curinterp->Tlastscream)
#define PL_localizing (curinterp->Tlocalizing)
#define PL_mainstack (curinterp->Tmainstack)
#define PL_markstack (curinterp->Tmarkstack)
#define PL_markstack_max (curinterp->Tmarkstack_max)
#define PL_markstack_ptr (curinterp->Tmarkstack_ptr)
#define PL_maxscream (curinterp->Tmaxscream)
#define PL_modcount (curinterp->Tmodcount)
#define PL_nrs (curinterp->Tnrs)
#define PL_ofs (curinterp->Tofs)
#define PL_ofslen (curinterp->Tofslen)
#define PL_op (curinterp->Top)
#define PL_opsave (curinterp->Topsave)
#define PL_reg_eval_set (curinterp->Treg_eval_set)
#define PL_reg_flags (curinterp->Treg_flags)
#define PL_reg_start_tmp (curinterp->Treg_start_tmp)
#define PL_reg_start_tmpl (curinterp->Treg_start_tmpl)
#define PL_regbol (curinterp->Tregbol)
#define PL_regcc (curinterp->Tregcc)
#define PL_regcode (curinterp->Tregcode)
#define PL_regcomp_parse (curinterp->Tregcomp_parse)
#define PL_regcomp_rx (curinterp->Tregcomp_rx)
#define PL_regcompp (curinterp->Tregcompp)
#define PL_regdata (curinterp->Tregdata)
#define PL_regdummy (curinterp->Tregdummy)
#define PL_regendp (curinterp->Tregendp)
#define PL_regeol (curinterp->Tregeol)
#define PL_regexecp (curinterp->Tregexecp)
#define PL_regflags (curinterp->Tregflags)
#define PL_regindent (curinterp->Tregindent)
#define PL_reginput (curinterp->Treginput)
#define PL_reginterp_cnt (curinterp->Treginterp_cnt)
#define PL_reglastparen (curinterp->Treglastparen)
#define PL_regnarrate (curinterp->Tregnarrate)
#define PL_regnaughty (curinterp->Tregnaughty)
#define PL_regnpar (curinterp->Tregnpar)
#define PL_regprecomp (curinterp->Tregprecomp)
#define PL_regprev (curinterp->Tregprev)
#define PL_regprogram (curinterp->Tregprogram)
#define PL_regsawback (curinterp->Tregsawback)
#define PL_regseen (curinterp->Tregseen)
#define PL_regsize (curinterp->Tregsize)
#define PL_regstartp (curinterp->Tregstartp)
#define PL_regtill (curinterp->Tregtill)
#define PL_regxend (curinterp->Tregxend)
#define PL_restartop (curinterp->Trestartop)
#define PL_retstack (curinterp->Tretstack)
#define PL_retstack_ix (curinterp->Tretstack_ix)
#define PL_retstack_max (curinterp->Tretstack_max)
#define PL_rs (curinterp->Trs)
#define PL_savestack (curinterp->Tsavestack)
#define PL_savestack_ix (curinterp->Tsavestack_ix)
#define PL_savestack_max (curinterp->Tsavestack_max)
#define PL_scopestack (curinterp->Tscopestack)
#define PL_scopestack_ix (curinterp->Tscopestack_ix)
#define PL_scopestack_max (curinterp->Tscopestack_max)
#define PL_screamfirst (curinterp->Tscreamfirst)
#define PL_screamnext (curinterp->Tscreamnext)
#define PL_secondgv (curinterp->Tsecondgv)
#define PL_seen_evals (curinterp->Tseen_evals)
#define PL_seen_zerolen (curinterp->Tseen_zerolen)
#define PL_sortcop (curinterp->Tsortcop)
#define PL_sortcxix (curinterp->Tsortcxix)
#define PL_sortstash (curinterp->Tsortstash)
#define PL_stack_base (curinterp->Tstack_base)
#define PL_stack_max (curinterp->Tstack_max)
#define PL_stack_sp (curinterp->Tstack_sp)
#define PL_start_env (curinterp->Tstart_env)
#define PL_statbuf (curinterp->Tstatbuf)
#define PL_statcache (curinterp->Tstatcache)
#define PL_statgv (curinterp->Tstatgv)
#define PL_statname (curinterp->Tstatname)
#define PL_tainted (curinterp->Ttainted)
#define PL_timesbuf (curinterp->Ttimesbuf)
#define PL_tmps_floor (curinterp->Ttmps_floor)
#define PL_tmps_ix (curinterp->Ttmps_ix)
#define PL_tmps_max (curinterp->Ttmps_max)
#define PL_tmps_stack (curinterp->Ttmps_stack)
#define PL_top_env (curinterp->Ttop_env)
#define PL_toptarget (curinterp->Ttoptarget)
#endif /* !USE_THREADS */
/* These are always per-interpreter if there is more than one */
#define PL_Argv (curinterp->IArgv)
#define PL_Cmd (curinterp->ICmd)
#define PL_DBcv (curinterp->IDBcv)
#define PL_DBgv (curinterp->IDBgv)
#define PL_DBline (curinterp->IDBline)
#define PL_DBsignal (curinterp->IDBsignal)
#define PL_DBsingle (curinterp->IDBsingle)
#define PL_DBsub (curinterp->IDBsub)
#define PL_DBtrace (curinterp->IDBtrace)
#define PL_ampergv (curinterp->Iampergv)
#define PL_archpat_auto (curinterp->Iarchpat_auto)
#define PL_argvgv (curinterp->Iargvgv)
#define PL_argvoutgv (curinterp->Iargvoutgv)
#define PL_basetime (curinterp->Ibasetime)
#define PL_beginav (curinterp->Ibeginav)
#define PL_cddir (curinterp->Icddir)
#define PL_compcv (curinterp->Icompcv)
#define PL_compiling (curinterp->Icompiling)
#define PL_comppad (curinterp->Icomppad)
#define PL_comppad_name (curinterp->Icomppad_name)
#define PL_comppad_name_fill (curinterp->Icomppad_name_fill)
#define PL_comppad_name_floor (curinterp->Icomppad_name_floor)
#define PL_copline (curinterp->Icopline)
#define PL_curcopdb (curinterp->Icurcopdb)
#define PL_curstname (curinterp->Icurstname)
#define PL_dbargs (curinterp->Idbargs)
#define PL_debdelim (curinterp->Idebdelim)
#define PL_debname (curinterp->Idebname)
#define PL_debstash (curinterp->Idebstash)
#define PL_defgv (curinterp->Idefgv)
#define PL_diehook (curinterp->Idiehook)
#define PL_dlevel (curinterp->Idlevel)
#define PL_dlmax (curinterp->Idlmax)
#define PL_doextract (curinterp->Idoextract)
#define PL_doswitches (curinterp->Idoswitches)
#define PL_dowarn (curinterp->Idowarn)
#define PL_dumplvl (curinterp->Idumplvl)
#define PL_e_script (curinterp->Ie_script)
#define PL_endav (curinterp->Iendav)
#define PL_envgv (curinterp->Ienvgv)
#define PL_errgv (curinterp->Ierrgv)
#define PL_eval_root (curinterp->Ieval_root)
#define PL_eval_start (curinterp->Ieval_start)
#define PL_exitlist (curinterp->Iexitlist)
#define PL_exitlistlen (curinterp->Iexitlistlen)
#define PL_fdpid (curinterp->Ifdpid)
#define PL_filemode (curinterp->Ifilemode)
#define PL_forkprocess (curinterp->Iforkprocess)
#define PL_formfeed (curinterp->Iformfeed)
#define PL_generation (curinterp->Igeneration)
#define PL_gensym (curinterp->Igensym)
#define PL_globalstash (curinterp->Iglobalstash)
#define PL_hintgv (curinterp->Ihintgv)
#define PL_in_clean_all (curinterp->Iin_clean_all)
#define PL_in_clean_objs (curinterp->Iin_clean_objs)
#define PL_incgv (curinterp->Iincgv)
#define PL_initav (curinterp->Iinitav)
#define PL_inplace (curinterp->Iinplace)
#define PL_last_proto (curinterp->Ilast_proto)
#define PL_lastfd (curinterp->Ilastfd)
#define PL_lastsize (curinterp->Ilastsize)
#define PL_lastspbase (curinterp->Ilastspbase)
#define PL_laststatval (curinterp->Ilaststatval)
#define PL_laststype (curinterp->Ilaststype)
#define PL_leftgv (curinterp->Ileftgv)
#define PL_lineary (curinterp->Ilineary)
#define PL_linestart (curinterp->Ilinestart)
#define PL_localpatches (curinterp->Ilocalpatches)
#define PL_main_cv (curinterp->Imain_cv)
#define PL_main_root (curinterp->Imain_root)
#define PL_main_start (curinterp->Imain_start)
#define PL_maxsysfd (curinterp->Imaxsysfd)
#define PL_mess_sv (curinterp->Imess_sv)
#define PL_minus_F (curinterp->Iminus_F)
#define PL_minus_a (curinterp->Iminus_a)
#define PL_minus_c (curinterp->Iminus_c)
#define PL_minus_l (curinterp->Iminus_l)
#define PL_minus_n (curinterp->Iminus_n)
#define PL_minus_p (curinterp->Iminus_p)
#define PL_modglobal (curinterp->Imodglobal)
#define PL_multiline (curinterp->Imultiline)
#define PL_mystrk (curinterp->Imystrk)
#define PL_ofmt (curinterp->Iofmt)
#define PL_oldlastpm (curinterp->Ioldlastpm)
#define PL_oldname (curinterp->Ioldname)
#define PL_op_mask (curinterp->Iop_mask)
#define PL_origargc (curinterp->Iorigargc)
#define PL_origargv (curinterp->Iorigargv)
#define PL_origfilename (curinterp->Iorigfilename)
#define PL_ors (curinterp->Iors)
#define PL_orslen (curinterp->Iorslen)
#define PL_parsehook (curinterp->Iparsehook)
#define PL_patchlevel (curinterp->Ipatchlevel)
#define PL_pending_ident (curinterp->Ipending_ident)
#define PL_perl_destruct_level (curinterp->Iperl_destruct_level)
#define PL_perldb (curinterp->Iperldb)
#define PL_preambleav (curinterp->Ipreambleav)
#define PL_preambled (curinterp->Ipreambled)
#define PL_preprocess (curinterp->Ipreprocess)
#define PL_profiledata (curinterp->Iprofiledata)
#define PL_replgv (curinterp->Ireplgv)
#define PL_rightgv (curinterp->Irightgv)
#define PL_rsfp (curinterp->Irsfp)
#define PL_rsfp_filters (curinterp->Irsfp_filters)
#define PL_sawampersand (curinterp->Isawampersand)
#define PL_sawstudy (curinterp->Isawstudy)
#define PL_sawvec (curinterp->Isawvec)
#define PL_siggv (curinterp->Isiggv)
#define PL_splitstr (curinterp->Isplitstr)
#define PL_statusvalue (curinterp->Istatusvalue)
#define PL_statusvalue_vms (curinterp->Istatusvalue_vms)
#define PL_stdingv (curinterp->Istdingv)
#define PL_strchop (curinterp->Istrchop)
#define PL_strtab (curinterp->Istrtab)
#define PL_sub_generation (curinterp->Isub_generation)
#define PL_sublex_info (curinterp->Isublex_info)
#define PL_sv_arenaroot (curinterp->Isv_arenaroot)
#define PL_sv_count (curinterp->Isv_count)
#define PL_sv_objcount (curinterp->Isv_objcount)
#define PL_sv_root (curinterp->Isv_root)
#define PL_sys_intern (curinterp->Isys_intern)
#define PL_tainting (curinterp->Itainting)
#define PL_threadnum (curinterp->Ithreadnum)
#define PL_thrsv (curinterp->Ithrsv)
#define PL_unsafe (curinterp->Iunsafe)
#define PL_warnhook (curinterp->Iwarnhook)
#else /* !MULTIPLICITY */
#define IArgv PL_Argv
#define ICmd PL_Cmd
#define IDBcv PL_DBcv
#define IDBgv PL_DBgv
#define IDBline PL_DBline
#define IDBsignal PL_DBsignal
#define IDBsingle PL_DBsingle
#define IDBsub PL_DBsub
#define IDBtrace PL_DBtrace
#define Iampergv PL_ampergv
#define Iarchpat_auto PL_archpat_auto
#define Iargvgv PL_argvgv
#define Iargvoutgv PL_argvoutgv
#define Ibasetime PL_basetime
#define Ibeginav PL_beginav
#define Icddir PL_cddir
#define Icompcv PL_compcv
#define Icompiling PL_compiling
#define Icomppad PL_comppad
#define Icomppad_name PL_comppad_name
#define Icomppad_name_fill PL_comppad_name_fill
#define Icomppad_name_floor PL_comppad_name_floor
#define Icopline PL_copline
#define Icurcopdb PL_curcopdb
#define Icurstname PL_curstname
#define Idbargs PL_dbargs
#define Idebdelim PL_debdelim
#define Idebname PL_debname
#define Idebstash PL_debstash
#define Idefgv PL_defgv
#define Idiehook PL_diehook
#define Idlevel PL_dlevel
#define Idlmax PL_dlmax
#define Idoextract PL_doextract
#define Idoswitches PL_doswitches
#define Idowarn PL_dowarn
#define Idumplvl PL_dumplvl
#define Ie_script PL_e_script
#define Iendav PL_endav
#define Ienvgv PL_envgv
#define Ierrgv PL_errgv
#define Ieval_root PL_eval_root
#define Ieval_start PL_eval_start
#define Iexitlist PL_exitlist
#define Iexitlistlen PL_exitlistlen
#define Ifdpid PL_fdpid
#define Ifilemode PL_filemode
#define Iforkprocess PL_forkprocess
#define Iformfeed PL_formfeed
#define Igeneration PL_generation
#define Igensym PL_gensym
#define Iglobalstash PL_globalstash
#define Ihintgv PL_hintgv
#define Iin_clean_all PL_in_clean_all
#define Iin_clean_objs PL_in_clean_objs
#define Iincgv PL_incgv
#define Iinitav PL_initav
#define Iinplace PL_inplace
#define Ilast_proto PL_last_proto
#define Ilastfd PL_lastfd
#define Ilastsize PL_lastsize
#define Ilastspbase PL_lastspbase
#define Ilaststatval PL_laststatval
#define Ilaststype PL_laststype
#define Ileftgv PL_leftgv
#define Ilineary PL_lineary
#define Ilinestart PL_linestart
#define Ilocalpatches PL_localpatches
#define Imain_cv PL_main_cv
#define Imain_root PL_main_root
#define Imain_start PL_main_start
#define Imaxsysfd PL_maxsysfd
#define Imess_sv PL_mess_sv
#define Iminus_F PL_minus_F
#define Iminus_a PL_minus_a
#define Iminus_c PL_minus_c
#define Iminus_l PL_minus_l
#define Iminus_n PL_minus_n
#define Iminus_p PL_minus_p
#define Imodglobal PL_modglobal
#define Imultiline PL_multiline
#define Imystrk PL_mystrk
#define Iofmt PL_ofmt
#define Ioldlastpm PL_oldlastpm
#define Ioldname PL_oldname
#define Iop_mask PL_op_mask
#define Iorigargc PL_origargc
#define Iorigargv PL_origargv
#define Iorigfilename PL_origfilename
#define Iors PL_ors
#define Iorslen PL_orslen
#define Iparsehook PL_parsehook
#define Ipatchlevel PL_patchlevel
#define Ipending_ident PL_pending_ident
#define Iperl_destruct_level PL_perl_destruct_level
#define Iperldb PL_perldb
#define Ipreambleav PL_preambleav
#define Ipreambled PL_preambled
#define Ipreprocess PL_preprocess
#define Iprofiledata PL_profiledata
#define Ireplgv PL_replgv
#define Irightgv PL_rightgv
#define Irsfp PL_rsfp
#define Irsfp_filters PL_rsfp_filters
#define Isawampersand PL_sawampersand
#define Isawstudy PL_sawstudy
#define Isawvec PL_sawvec
#define Isiggv PL_siggv
#define Isplitstr PL_splitstr
#define Istatusvalue PL_statusvalue
#define Istatusvalue_vms PL_statusvalue_vms
#define Istdingv PL_stdingv
#define Istrchop PL_strchop
#define Istrtab PL_strtab
#define Isub_generation PL_sub_generation
#define Isublex_info PL_sublex_info
#define Isv_arenaroot PL_sv_arenaroot
#define Isv_count PL_sv_count
#define Isv_objcount PL_sv_objcount
#define Isv_root PL_sv_root
#define Isys_intern PL_sys_intern
#define Itainting PL_tainting
#define Ithreadnum PL_threadnum
#define Ithrsv PL_thrsv
#define Iunsafe PL_unsafe
#define Iwarnhook PL_warnhook
#ifndef USE_THREADS
#define TSv PL_Sv
#define TXpv PL_Xpv
#define Tav_fetch_sv PL_av_fetch_sv
#define Tbodytarget PL_bodytarget
#define Tbostr PL_bostr
#define Tchopset PL_chopset
#define Tcolors PL_colors
#define Tcolorset PL_colorset
#define Tcurcop PL_curcop
#define Tcurpad PL_curpad
#define Tcurpm PL_curpm
#define Tcurstack PL_curstack
#define Tcurstackinfo PL_curstackinfo
#define Tcurstash PL_curstash
#define Tdefoutgv PL_defoutgv
#define Tdefstash PL_defstash
#define Tdelaymagic PL_delaymagic
#define Tdirty PL_dirty
#define Textralen PL_extralen
#define Tfirstgv PL_firstgv
#define Tformtarget PL_formtarget
#define Thv_fetch_ent_mh PL_hv_fetch_ent_mh
#define Thv_fetch_sv PL_hv_fetch_sv
#define Tin_eval PL_in_eval
#define Tlast_in_gv PL_last_in_gv
#define Tlastgotoprobe PL_lastgotoprobe
#define Tlastscream PL_lastscream
#define Tlocalizing PL_localizing
#define Tmainstack PL_mainstack
#define Tmarkstack PL_markstack
#define Tmarkstack_max PL_markstack_max
#define Tmarkstack_ptr PL_markstack_ptr
#define Tmaxscream PL_maxscream
#define Tmodcount PL_modcount
#define Tnrs PL_nrs
#define Tofs PL_ofs
#define Tofslen PL_ofslen
#define Top PL_op
#define Topsave PL_opsave
#define Treg_eval_set PL_reg_eval_set
#define Treg_flags PL_reg_flags
#define Treg_start_tmp PL_reg_start_tmp
#define Treg_start_tmpl PL_reg_start_tmpl
#define Tregbol PL_regbol
#define Tregcc PL_regcc
#define Tregcode PL_regcode
#define Tregcomp_parse PL_regcomp_parse
#define Tregcomp_rx PL_regcomp_rx
#define Tregcompp PL_regcompp
#define Tregdata PL_regdata
#define Tregdummy PL_regdummy
#define Tregendp PL_regendp
#define Tregeol PL_regeol
#define Tregexecp PL_regexecp
#define Tregflags PL_regflags
#define Tregindent PL_regindent
#define Treginput PL_reginput
#define Treginterp_cnt PL_reginterp_cnt
#define Treglastparen PL_reglastparen
#define Tregnarrate PL_regnarrate
#define Tregnaughty PL_regnaughty
#define Tregnpar PL_regnpar
#define Tregprecomp PL_regprecomp
#define Tregprev PL_regprev
#define Tregprogram PL_regprogram
#define Tregsawback PL_regsawback
#define Tregseen PL_regseen
#define Tregsize PL_regsize
#define Tregstartp PL_regstartp
#define Tregtill PL_regtill
#define Tregxend PL_regxend
#define Trestartop PL_restartop
#define Tretstack PL_retstack
#define Tretstack_ix PL_retstack_ix
#define Tretstack_max PL_retstack_max
#define Trs PL_rs
#define Tsavestack PL_savestack
#define Tsavestack_ix PL_savestack_ix
#define Tsavestack_max PL_savestack_max
#define Tscopestack PL_scopestack
#define Tscopestack_ix PL_scopestack_ix
#define Tscopestack_max PL_scopestack_max
#define Tscreamfirst PL_screamfirst
#define Tscreamnext PL_screamnext
#define Tsecondgv PL_secondgv
#define Tseen_evals PL_seen_evals
#define Tseen_zerolen PL_seen_zerolen
#define Tsortcop PL_sortcop
#define Tsortcxix PL_sortcxix
#define Tsortstash PL_sortstash
#define Tstack_base PL_stack_base
#define Tstack_max PL_stack_max
#define Tstack_sp PL_stack_sp
#define Tstart_env PL_start_env
#define Tstatbuf PL_statbuf
#define Tstatcache PL_statcache
#define Tstatgv PL_statgv
#define Tstatname PL_statname
#define Ttainted PL_tainted
#define Ttimesbuf PL_timesbuf
#define Ttmps_floor PL_tmps_floor
#define Ttmps_ix PL_tmps_ix
#define Ttmps_max PL_tmps_max
#define Ttmps_stack PL_tmps_stack
#define Ttop_env PL_top_env
#define Ttoptarget PL_toptarget
#endif /* USE_THREADS */
/* Hide what would have been interpreter-specific symbols? */
#ifdef EMBED
#ifndef USE_THREADS
#endif /* USE_THREADS */
#endif /* EMBED */
#endif /* MULTIPLICITY */
/* Now same trickey for per-thread variables */
#ifdef USE_THREADS
#define PL_Sv (thr->TSv)
#define PL_Xpv (thr->TXpv)
#define PL_av_fetch_sv (thr->Tav_fetch_sv)
#define PL_bodytarget (thr->Tbodytarget)
#define PL_bostr (thr->Tbostr)
#define PL_chopset (thr->Tchopset)
#define PL_colors (thr->Tcolors)
#define PL_colorset (thr->Tcolorset)
#define PL_curcop (thr->Tcurcop)
#define PL_curpad (thr->Tcurpad)
#define PL_curpm (thr->Tcurpm)
#define PL_curstack (thr->Tcurstack)
#define PL_curstackinfo (thr->Tcurstackinfo)
#define PL_curstash (thr->Tcurstash)
#define PL_defoutgv (thr->Tdefoutgv)
#define PL_defstash (thr->Tdefstash)
#define PL_delaymagic (thr->Tdelaymagic)
#define PL_dirty (thr->Tdirty)
#define PL_extralen (thr->Textralen)
#define PL_firstgv (thr->Tfirstgv)
#define PL_formtarget (thr->Tformtarget)
#define PL_hv_fetch_ent_mh (thr->Thv_fetch_ent_mh)
#define PL_hv_fetch_sv (thr->Thv_fetch_sv)
#define PL_in_eval (thr->Tin_eval)
#define PL_last_in_gv (thr->Tlast_in_gv)
#define PL_lastgotoprobe (thr->Tlastgotoprobe)
#define PL_lastscream (thr->Tlastscream)
#define PL_localizing (thr->Tlocalizing)
#define PL_mainstack (thr->Tmainstack)
#define PL_markstack (thr->Tmarkstack)
#define PL_markstack_max (thr->Tmarkstack_max)
#define PL_markstack_ptr (thr->Tmarkstack_ptr)
#define PL_maxscream (thr->Tmaxscream)
#define PL_modcount (thr->Tmodcount)
#define PL_nrs (thr->Tnrs)
#define PL_ofs (thr->Tofs)
#define PL_ofslen (thr->Tofslen)
#define PL_op (thr->Top)
#define PL_opsave (thr->Topsave)
#define PL_reg_eval_set (thr->Treg_eval_set)
#define PL_reg_flags (thr->Treg_flags)
#define PL_reg_start_tmp (thr->Treg_start_tmp)
#define PL_reg_start_tmpl (thr->Treg_start_tmpl)
#define PL_regbol (thr->Tregbol)
#define PL_regcc (thr->Tregcc)
#define PL_regcode (thr->Tregcode)
#define PL_regcomp_parse (thr->Tregcomp_parse)
#define PL_regcomp_rx (thr->Tregcomp_rx)
#define PL_regcompp (thr->Tregcompp)
#define PL_regdata (thr->Tregdata)
#define PL_regdummy (thr->Tregdummy)
#define PL_regendp (thr->Tregendp)
#define PL_regeol (thr->Tregeol)
#define PL_regexecp (thr->Tregexecp)
#define PL_regflags (thr->Tregflags)
#define PL_regindent (thr->Tregindent)
#define PL_reginput (thr->Treginput)
#define PL_reginterp_cnt (thr->Treginterp_cnt)
#define PL_reglastparen (thr->Treglastparen)
#define PL_regnarrate (thr->Tregnarrate)
#define PL_regnaughty (thr->Tregnaughty)
#define PL_regnpar (thr->Tregnpar)
#define PL_regprecomp (thr->Tregprecomp)
#define PL_regprev (thr->Tregprev)
#define PL_regprogram (thr->Tregprogram)
#define PL_regsawback (thr->Tregsawback)
#define PL_regseen (thr->Tregseen)
#define PL_regsize (thr->Tregsize)
#define PL_regstartp (thr->Tregstartp)
#define PL_regtill (thr->Tregtill)
#define PL_regxend (thr->Tregxend)
#define PL_restartop (thr->Trestartop)
#define PL_retstack (thr->Tretstack)
#define PL_retstack_ix (thr->Tretstack_ix)
#define PL_retstack_max (thr->Tretstack_max)
#define PL_rs (thr->Trs)
#define PL_savestack (thr->Tsavestack)
#define PL_savestack_ix (thr->Tsavestack_ix)
#define PL_savestack_max (thr->Tsavestack_max)
#define PL_scopestack (thr->Tscopestack)
#define PL_scopestack_ix (thr->Tscopestack_ix)
#define PL_scopestack_max (thr->Tscopestack_max)
#define PL_screamfirst (thr->Tscreamfirst)
#define PL_screamnext (thr->Tscreamnext)
#define PL_secondgv (thr->Tsecondgv)
#define PL_seen_evals (thr->Tseen_evals)
#define PL_seen_zerolen (thr->Tseen_zerolen)
#define PL_sortcop (thr->Tsortcop)
#define PL_sortcxix (thr->Tsortcxix)
#define PL_sortstash (thr->Tsortstash)
#define PL_stack_base (thr->Tstack_base)
#define PL_stack_max (thr->Tstack_max)
#define PL_stack_sp (thr->Tstack_sp)
#define PL_start_env (thr->Tstart_env)
#define PL_statbuf (thr->Tstatbuf)
#define PL_statcache (thr->Tstatcache)
#define PL_statgv (thr->Tstatgv)
#define PL_statname (thr->Tstatname)
#define PL_tainted (thr->Ttainted)
#define PL_timesbuf (thr->Ttimesbuf)
#define PL_tmps_floor (thr->Ttmps_floor)
#define PL_tmps_ix (thr->Ttmps_ix)
#define PL_tmps_max (thr->Ttmps_max)
#define PL_tmps_stack (thr->Ttmps_stack)
#define PL_top_env (thr->Ttop_env)
#define PL_toptarget (thr->Ttoptarget)
#endif /* USE_THREADS */
#ifdef PERL_GLOBAL_STRUCT
#define PL_No (Perl_Vars.GNo)
#define PL_Yes (Perl_Vars.GYes)
#define PL_amagic_generation (Perl_Vars.Gamagic_generation)
#define PL_an (Perl_Vars.Gan)
#define PL_bufend (Perl_Vars.Gbufend)
#define PL_bufptr (Perl_Vars.Gbufptr)
#define PL_collation_ix (Perl_Vars.Gcollation_ix)
#define PL_collation_name (Perl_Vars.Gcollation_name)
#define PL_collation_standard (Perl_Vars.Gcollation_standard)
#define PL_collxfrm_base (Perl_Vars.Gcollxfrm_base)
#define PL_collxfrm_mult (Perl_Vars.Gcollxfrm_mult)
#define PL_cop_seqmax (Perl_Vars.Gcop_seqmax)
#define PL_cryptseen (Perl_Vars.Gcryptseen)
#define PL_cshlen (Perl_Vars.Gcshlen)
#define PL_cshname (Perl_Vars.Gcshname)
#define PL_curinterp (Perl_Vars.Gcurinterp)
#define PL_curthr (Perl_Vars.Gcurthr)
#define PL_debug (Perl_Vars.Gdebug)
#define PL_do_undump (Perl_Vars.Gdo_undump)
#define PL_egid (Perl_Vars.Gegid)
#define PL_error_count (Perl_Vars.Gerror_count)
#define PL_euid (Perl_Vars.Geuid)
#define PL_eval_cond (Perl_Vars.Geval_cond)
#define PL_eval_mutex (Perl_Vars.Geval_mutex)
#define PL_eval_owner (Perl_Vars.Geval_owner)
#define PL_evalseq (Perl_Vars.Gevalseq)
#define PL_expect (Perl_Vars.Gexpect)
#define PL_gid (Perl_Vars.Ggid)
#define PL_he_root (Perl_Vars.Ghe_root)
#define PL_hexdigit (Perl_Vars.Ghexdigit)
#define PL_hints (Perl_Vars.Ghints)
#define PL_in_my (Perl_Vars.Gin_my)
#define PL_in_my_stash (Perl_Vars.Gin_my_stash)
#define PL_last_lop (Perl_Vars.Glast_lop)
#define PL_last_lop_op (Perl_Vars.Glast_lop_op)
#define PL_last_uni (Perl_Vars.Glast_uni)
#define PL_lex_brackets (Perl_Vars.Glex_brackets)
#define PL_lex_brackstack (Perl_Vars.Glex_brackstack)
#define PL_lex_casemods (Perl_Vars.Glex_casemods)
#define PL_lex_casestack (Perl_Vars.Glex_casestack)
#define PL_lex_defer (Perl_Vars.Glex_defer)
#define PL_lex_dojoin (Perl_Vars.Glex_dojoin)
#define PL_lex_expect (Perl_Vars.Glex_expect)
#define PL_lex_fakebrack (Perl_Vars.Glex_fakebrack)
#define PL_lex_formbrack (Perl_Vars.Glex_formbrack)
#define PL_lex_inpat (Perl_Vars.Glex_inpat)
#define PL_lex_inwhat (Perl_Vars.Glex_inwhat)
#define PL_lex_op (Perl_Vars.Glex_op)
#define PL_lex_repl (Perl_Vars.Glex_repl)
#define PL_lex_starts (Perl_Vars.Glex_starts)
#define PL_lex_state (Perl_Vars.Glex_state)
#define PL_lex_stuff (Perl_Vars.Glex_stuff)
#define PL_linestr (Perl_Vars.Glinestr)
#define PL_malloc_mutex (Perl_Vars.Gmalloc_mutex)
#define PL_max_intro_pending (Perl_Vars.Gmax_intro_pending)
#define PL_maxo (Perl_Vars.Gmaxo)
#define PL_min_intro_pending (Perl_Vars.Gmin_intro_pending)
#define PL_multi_close (Perl_Vars.Gmulti_close)
#define PL_multi_end (Perl_Vars.Gmulti_end)
#define PL_multi_open (Perl_Vars.Gmulti_open)
#define PL_multi_start (Perl_Vars.Gmulti_start)
#define PL_na (Perl_Vars.Gna)
#define PL_nexttoke (Perl_Vars.Gnexttoke)
#define PL_nexttype (Perl_Vars.Gnexttype)
#define PL_nextval (Perl_Vars.Gnextval)
#define PL_nice_chunk (Perl_Vars.Gnice_chunk)
#define PL_nice_chunk_size (Perl_Vars.Gnice_chunk_size)
#define PL_ninterps (Perl_Vars.Gninterps)
#define PL_nomemok (Perl_Vars.Gnomemok)
#define PL_nthreads (Perl_Vars.Gnthreads)
#define PL_nthreads_cond (Perl_Vars.Gnthreads_cond)
#define PL_numeric_local (Perl_Vars.Gnumeric_local)
#define PL_numeric_name (Perl_Vars.Gnumeric_name)
#define PL_numeric_standard (Perl_Vars.Gnumeric_standard)
#define PL_oldbufptr (Perl_Vars.Goldbufptr)
#define PL_oldoldbufptr (Perl_Vars.Goldoldbufptr)
#define PL_op_seqmax (Perl_Vars.Gop_seqmax)
#define PL_origalen (Perl_Vars.Gorigalen)
#define PL_origenviron (Perl_Vars.Gorigenviron)
#define PL_osname (Perl_Vars.Gosname)
#define PL_pad_reset_pending (Perl_Vars.Gpad_reset_pending)
#define PL_padix (Perl_Vars.Gpadix)
#define PL_padix_floor (Perl_Vars.Gpadix_floor)
#define PL_patleave (Perl_Vars.Gpatleave)
#define PL_pidstatus (Perl_Vars.Gpidstatus)
#define PL_runops (Perl_Vars.Grunops)
#define PL_sh_path (Perl_Vars.Gsh_path)
#define PL_sighandlerp (Perl_Vars.Gsighandlerp)
#define PL_specialsv_list (Perl_Vars.Gspecialsv_list)
#define PL_subline (Perl_Vars.Gsubline)
#define PL_subname (Perl_Vars.Gsubname)
#define PL_sv_mutex (Perl_Vars.Gsv_mutex)
#define PL_sv_no (Perl_Vars.Gsv_no)
#define PL_sv_undef (Perl_Vars.Gsv_undef)
#define PL_sv_yes (Perl_Vars.Gsv_yes)
#define PL_svref_mutex (Perl_Vars.Gsvref_mutex)
#define PL_thisexpr (Perl_Vars.Gthisexpr)
#define PL_thr_key (Perl_Vars.Gthr_key)
#define PL_threads_mutex (Perl_Vars.Gthreads_mutex)
#define PL_threadsv_names (Perl_Vars.Gthreadsv_names)
#define PL_tokenbuf (Perl_Vars.Gtokenbuf)
#define PL_uid (Perl_Vars.Guid)
#define PL_xiv_arenaroot (Perl_Vars.Gxiv_arenaroot)
#define PL_xiv_root (Perl_Vars.Gxiv_root)
#define PL_xnv_root (Perl_Vars.Gxnv_root)
#define PL_xpv_root (Perl_Vars.Gxpv_root)
#define PL_xrv_root (Perl_Vars.Gxrv_root)
#else /* !PERL_GLOBAL_STRUCT */
#define GNo PL_No
#define GYes PL_Yes
#define Gamagic_generation PL_amagic_generation
#define Gan PL_an
#define Gbufend PL_bufend
#define Gbufptr PL_bufptr
#define Gcollation_ix PL_collation_ix
#define Gcollation_name PL_collation_name
#define Gcollation_standard PL_collation_standard
#define Gcollxfrm_base PL_collxfrm_base
#define Gcollxfrm_mult PL_collxfrm_mult
#define Gcop_seqmax PL_cop_seqmax
#define Gcryptseen PL_cryptseen
#define Gcshlen PL_cshlen
#define Gcshname PL_cshname
#define Gcurinterp PL_curinterp
#define Gcurthr PL_curthr
#define Gdebug PL_debug
#define Gdo_undump PL_do_undump
#define Gegid PL_egid
#define Gerror_count PL_error_count
#define Geuid PL_euid
#define Geval_cond PL_eval_cond
#define Geval_mutex PL_eval_mutex
#define Geval_owner PL_eval_owner
#define Gevalseq PL_evalseq
#define Gexpect PL_expect
#define Ggid PL_gid
#define Ghe_root PL_he_root
#define Ghexdigit PL_hexdigit
#define Ghints PL_hints
#define Gin_my PL_in_my
#define Gin_my_stash PL_in_my_stash
#define Glast_lop PL_last_lop
#define Glast_lop_op PL_last_lop_op
#define Glast_uni PL_last_uni
#define Glex_brackets PL_lex_brackets
#define Glex_brackstack PL_lex_brackstack
#define Glex_casemods PL_lex_casemods
#define Glex_casestack PL_lex_casestack
#define Glex_defer PL_lex_defer
#define Glex_dojoin PL_lex_dojoin
#define Glex_expect PL_lex_expect
#define Glex_fakebrack PL_lex_fakebrack
#define Glex_formbrack PL_lex_formbrack
#define Glex_inpat PL_lex_inpat
#define Glex_inwhat PL_lex_inwhat
#define Glex_op PL_lex_op
#define Glex_repl PL_lex_repl
#define Glex_starts PL_lex_starts
#define Glex_state PL_lex_state
#define Glex_stuff PL_lex_stuff
#define Glinestr PL_linestr
#define Gmalloc_mutex PL_malloc_mutex
#define Gmax_intro_pending PL_max_intro_pending
#define Gmaxo PL_maxo
#define Gmin_intro_pending PL_min_intro_pending
#define Gmulti_close PL_multi_close
#define Gmulti_end PL_multi_end
#define Gmulti_open PL_multi_open
#define Gmulti_start PL_multi_start
#define Gna PL_na
#define Gnexttoke PL_nexttoke
#define Gnexttype PL_nexttype
#define Gnextval PL_nextval
#define Gnice_chunk PL_nice_chunk
#define Gnice_chunk_size PL_nice_chunk_size
#define Gninterps PL_ninterps
#define Gnomemok PL_nomemok
#define Gnthreads PL_nthreads
#define Gnthreads_cond PL_nthreads_cond
#define Gnumeric_local PL_numeric_local
#define Gnumeric_name PL_numeric_name
#define Gnumeric_standard PL_numeric_standard
#define Goldbufptr PL_oldbufptr
#define Goldoldbufptr PL_oldoldbufptr
#define Gop_seqmax PL_op_seqmax
#define Gorigalen PL_origalen
#define Gorigenviron PL_origenviron
#define Gosname PL_osname
#define Gpad_reset_pending PL_pad_reset_pending
#define Gpadix PL_padix
#define Gpadix_floor PL_padix_floor
#define Gpatleave PL_patleave
#define Gpidstatus PL_pidstatus
#define Grunops PL_runops
#define Gsh_path PL_sh_path
#define Gsighandlerp PL_sighandlerp
#define Gspecialsv_list PL_specialsv_list
#define Gsubline PL_subline
#define Gsubname PL_subname
#define Gsv_mutex PL_sv_mutex
#define Gsv_no PL_sv_no
#define Gsv_undef PL_sv_undef
#define Gsv_yes PL_sv_yes
#define Gsvref_mutex PL_svref_mutex
#define Gthisexpr PL_thisexpr
#define Gthr_key PL_thr_key
#define Gthreads_mutex PL_threads_mutex
#define Gthreadsv_names PL_threadsv_names
#define Gtokenbuf PL_tokenbuf
#define Guid PL_uid
#define Gxiv_arenaroot PL_xiv_arenaroot
#define Gxiv_root PL_xiv_root
#define Gxnv_root PL_xnv_root
#define Gxpv_root PL_xpv_root
#define Gxrv_root PL_xrv_root
#ifdef EMBED
#endif /* EMBED */
#endif /* PERL_GLOBAL_STRUCT */
|