Global Variables */

/***********************************************/ /* Global only to current thread */ /***********************************************/

/* Don't forget to re-run embed.pl to propagate changes! */

/* The 'T' prefix is only needed for vars that need appropriate #defines * generated when built with or without USE_5005THREADS. It is also used * to generate the appropriate export list for win32. * * When building without USE_5005THREADS, these variables will be truly global. * When building without USE_5005THREADS but with MULTIPLICITY, these variables * will be global per-interpreter. */

/* Important ones in the first cache line (if alignment is done right) */

PERLVAR(Tstack_sp, SV **) /* top of the stack */ #ifdef OP_IN_REGISTER PERLVAR(Topsave, OP *) #else PERLVAR(Top, OP *) /* currently executing op */ #endif PERLVAR(Tcurpad, SV **) /* active pad (lexicals+tmps) */

PERLVAR(Tstack_base, SV **) PERLVAR(Tstack_max, SV **)

PERLVAR(Tscopestack, I32 *) /* scopes we've ENTERed */ PERLVAR(Tscopestack_ix, I32) PERLVAR(Tscopestack_max,I32)

PERLVAR(Tsavestack, ANY *) /* items that need to be restored when LEAVEing scopes we've ENTERed */ PERLVAR(Tsavestack_ix, I32) PERLVAR(Tsavestack_max, I32)

PERLVAR(Ttmps_stack, SV **) /* mortals we've made */ PERLVARI(Ttmps_ix, I32, -1) PERLVARI(Ttmps_floor, I32, -1) PERLVAR(Ttmps_max, I32)

PERLVAR(Tmarkstack, I32 *) /* stack_sp locations we're remembering */ PERLVAR(Tmarkstack_ptr, I32 *) PERLVAR(Tmarkstack_max, I32 *)

PERLVAR(TSv, SV *) /* used to hold temporary values */ PERLVAR(TXpv, XPV *) /* used to hold temporary values */

/* =for apidoc Amn|STRLEN|PL_na

A convenience variable which is typically used with SvPV when one doesn't care about the length of the string. It is usually more efficient to either declare a local variable and use that instead or to use the SvPV_nolen macro.

The input record separator - $/ in Perl space.

The GV which was last used for a filehandle input operation. (<FH>)

The output field separator - $, in Perl space.