1 |
root |
1.15 |
/* used in state.h */ |
2 |
|
|
#ifndef VAR |
3 |
|
|
#define VAR(name,type) VARx(name, PL_ ## name, type) |
4 |
|
|
#endif |
5 |
|
|
|
6 |
root |
1.2 |
/* list the interpreter variables that need to be saved/restored */ |
7 |
root |
1.12 |
|
8 |
|
|
VARx(defsv, GvSV (PL_defgv), SV *) |
9 |
|
|
VARx(defav, GvAV (PL_defgv), AV *) |
10 |
|
|
VARx(errsv, GvSV (PL_errgv), SV *) |
11 |
|
|
VARx(irsgv, GvSV (irsgv), SV *) |
12 |
root |
1.13 |
VARx(hinthv, GvHV (PL_hintgv), HV *) |
13 |
root |
1.12 |
|
14 |
root |
1.1 |
/* mostly copied from thrdvar.h */ |
15 |
|
|
|
16 |
root |
1.7 |
VAR(stack_sp, SV **) /* the main stack */ |
17 |
root |
1.3 |
#ifdef OP_IN_REGISTER |
18 |
|
|
VAR(opsave, OP *) /* probably not necessary */ |
19 |
|
|
#else |
20 |
root |
1.1 |
VAR(op, OP *) /* currently executing op */ |
21 |
root |
1.3 |
#endif |
22 |
root |
1.1 |
VAR(curpad, SV **) /* active pad (lexicals+tmps) */ |
23 |
|
|
|
24 |
|
|
VAR(stack_base, SV **) |
25 |
|
|
VAR(stack_max, SV **) |
26 |
|
|
|
27 |
|
|
VAR(scopestack, I32 *) /* scopes we've ENTERed */ |
28 |
|
|
VAR(scopestack_ix, I32) |
29 |
|
|
VAR(scopestack_max,I32) |
30 |
root |
1.14 |
#if HAS_SCOPESTACK_NAME |
31 |
|
|
VAR(scopestack_name,const char **) |
32 |
|
|
#endif |
33 |
root |
1.1 |
|
34 |
|
|
VAR(savestack, ANY *) /* items that need to be restored |
35 |
root |
1.2 |
when LEAVEing scopes we've ENTERed */ |
36 |
root |
1.1 |
VAR(savestack_ix, I32) |
37 |
|
|
VAR(savestack_max, I32) |
38 |
|
|
|
39 |
|
|
VAR(tmps_stack, SV **) /* mortals we've made */ |
40 |
root |
1.16 |
VAR(tmps_ix, SSize_t) |
41 |
|
|
VAR(tmps_floor, SSize_t) |
42 |
|
|
VAR(tmps_max, SSize_t) |
43 |
root |
1.1 |
|
44 |
|
|
VAR(markstack, I32 *) /* stack_sp locations we're remembering */ |
45 |
|
|
VAR(markstack_ptr, I32 *) |
46 |
|
|
VAR(markstack_max, I32 *) |
47 |
|
|
|
48 |
|
|
#if !PERL_VERSION_ATLEAST (5,9,0) |
49 |
|
|
VAR(retstack, OP **) /* OPs we have postponed executing */ |
50 |
|
|
VAR(retstack_ix, I32) |
51 |
|
|
VAR(retstack_max, I32) |
52 |
|
|
#endif |
53 |
|
|
|
54 |
|
|
VAR(curpm, PMOP *) /* what to do \ interps in REs from */ |
55 |
root |
1.6 |
VAR(rs, SV *) /* input record separator $/ */ |
56 |
root |
1.11 |
VAR(defoutgv, GV *) /* default FH for output */ |
57 |
root |
1.1 |
VAR(curcop, COP *) |
58 |
|
|
|
59 |
|
|
VAR(curstack, AV *) /* THE STACK */ |
60 |
|
|
VAR(curstackinfo, PERL_SI *) /* current stack + context */ |
61 |
root |
1.3 |
|
62 |
root |
1.1 |
VAR(sortcop, OP *) /* user defined sort routine */ |
63 |
|
|
VAR(sortstash, HV *) /* which is in some package or other */ |
64 |
root |
1.3 |
#if !PERL_VERSION_ATLEAST (5,9,0) |
65 |
root |
1.1 |
VAR(sortcxix, I32) /* from pp_ctl.c */ |
66 |
root |
1.3 |
#endif |
67 |
root |
1.1 |
|
68 |
root |
1.17 |
VAR(localizing, int) /* are we processing a local() list? (U8 in later perls) */ |
69 |
root |
1.11 |
VAR(in_eval, U8) /* trap "fatal" errors? */ |
70 |
|
|
VAR(tainted, bool) /* using variables controlled by $< */ |
71 |
|
|
|
72 |
|
|
VAR(diehook, SV *) |
73 |
|
|
VAR(warnhook, SV *) |
74 |
|
|
|
75 |
|
|
/* compcv is intrpvar, but seems to be thread-specific to me */ |
76 |
|
|
/* but, well, I thoroughly misunderstand what thrdvar and intrpvar is. still. */ |
77 |
|
|
VAR(compcv, CV *) /* currently compiling subroutine */ |
78 |
|
|
|
79 |
root |
1.1 |
VAR(comppad, AV *) /* storage for lexically scoped temporaries */ |
80 |
root |
1.10 |
VAR(comppad_name, AV *) /* variable names for "my" variables */ |
81 |
|
|
VAR(comppad_name_fill, I32) /* last "introduced" variable offset */ |
82 |
|
|
VAR(comppad_name_floor, I32) /* start of vars in innermost block */ |
83 |
root |
1.2 |
|
84 |
root |
1.11 |
VAR(runops, runops_proc_t) /* for tracing support */ |
85 |
root |
1.5 |
|
86 |
root |
1.11 |
VAR(hints, U32) /* pragma-tic compile-time flags */ |
87 |
root |
1.6 |
|
88 |
root |
1.9 |
#if PERL_VERSION_ATLEAST (5,10,0) |
89 |
root |
1.8 |
VAR(parser, yy_parser *) |
90 |
|
|
#endif |
91 |
|
|
|
92 |
root |
1.15 |
#undef VAR |
93 |
|
|
#undef VARx |
94 |
|
|
|