/* used in state.h */ #ifndef VAR #define VAR(name,type) VARx(name, PL_ ## name, type) #endif /* list the interpreter variables that need to be saved/restored */ VARx(defsv, GvSV (PL_defgv), SV *) VARx(defav, GvAV (PL_defgv), AV *) VARx(errsv, GvSV (PL_errgv), SV *) VARx(irsgv, GvSV (irsgv), SV *) VARx(hinthv, GvHV (PL_hintgv), HV *) /* mostly copied from thrdvar.h */ VAR(stack_sp, SV **) /* the main stack */ #ifdef OP_IN_REGISTER VAR(opsave, OP *) /* probably not necessary */ #else VAR(op, OP *) /* currently executing op */ #endif VAR(curpad, SV **) /* active pad (lexicals+tmps) */ VAR(stack_base, SV **) VAR(stack_max, SV **) VAR(scopestack, I32 *) /* scopes we've ENTERed */ VAR(scopestack_ix, I32) VAR(scopestack_max,I32) #if HAS_SCOPESTACK_NAME VAR(scopestack_name,const char **) #endif VAR(savestack, ANY *) /* items that need to be restored when LEAVEing scopes we've ENTERed */ VAR(savestack_ix, I32) VAR(savestack_max, I32) VAR(tmps_stack, SV **) /* mortals we've made */ VAR(tmps_ix, SSize_t) VAR(tmps_floor, SSize_t) VAR(tmps_max, SSize_t) VAR(markstack, I32 *) /* stack_sp locations we're remembering */ VAR(markstack_ptr, I32 *) VAR(markstack_max, I32 *) #if !PERL_VERSION_ATLEAST (5,9,0) VAR(retstack, OP **) /* OPs we have postponed executing */ VAR(retstack_ix, I32) VAR(retstack_max, I32) #endif VAR(curpm, PMOP *) /* what to do \ interps in REs from */ VAR(rs, SV *) /* input record separator $/ */ VAR(defoutgv, GV *) /* default FH for output */ VAR(curcop, COP *) VAR(curstack, AV *) /* THE STACK */ VAR(curstackinfo, PERL_SI *) /* current stack + context */ VAR(sortcop, OP *) /* user defined sort routine */ VAR(sortstash, HV *) /* which is in some package or other */ #if !PERL_VERSION_ATLEAST (5,9,0) VAR(sortcxix, I32) /* from pp_ctl.c */ #endif VAR(localizing, U8) /* are we processing a local() list? */ VAR(in_eval, U8) /* trap "fatal" errors? */ VAR(tainted, bool) /* using variables controlled by $< */ VAR(diehook, SV *) VAR(warnhook, SV *) /* compcv is intrpvar, but seems to be thread-specific to me */ /* but, well, I thoroughly misunderstand what thrdvar and intrpvar is. still. */ VAR(compcv, CV *) /* currently compiling subroutine */ VAR(comppad, AV *) /* storage for lexically scoped temporaries */ VAR(comppad_name, AV *) /* variable names for "my" variables */ VAR(comppad_name_fill, I32) /* last "introduced" variable offset */ VAR(comppad_name_floor, I32) /* start of vars in innermost block */ VAR(runops, runops_proc_t) /* for tracing support */ VAR(hints, U32) /* pragma-tic compile-time flags */ #if PERL_VERSION_ATLEAST (5,10,0) VAR(parser, yy_parser *) #endif #undef VAR #undef VARx