*
*/
+#include "handy.h"
+
/*
=head1 Per-Interpreter Variables
*/
PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
+PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
-PERLVARI(I, rehash_seed_set, bool, FALSE) /* 582 hash initialized? */
PERLVARA(I, colors,6, char *) /* from regcomp.c */
*/
PERLVAR(I, dowarn, U8)
-PERLVAR(I, sawampersand, bool) /* must save all match strings */
+#ifdef PERL_SAWAMPERSAND
+PERLVAR(I, sawampersand, U8) /* must save all match strings */
+#endif
PERLVAR(I, unsafe, bool)
-PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
-PERLVARI(I, reginterp_cnt, I32, 0) /* Whether "Regexp" was interpolated. */
+/* Space for U16 (or U8 if PERL_SAWAMPERSAND is defined) */
+
+PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
PERLVAR(I, inplace, char *)
PERLVAR(I, e_script, SV *)
-/* magical thingies */
PERLVAR(I, basetime, Time_t) /* $^T */
-PERLVAR(I, formfeed, SV *) /* $^L */
-
PERLVARI(I, maxsysfd, I32, MAXSYSFD)
/* top fd to pass to subprocesses */
PERLVAR(I, compiling, COP) /* compiling/done executing marker */
PERLVAR(I, compcv, CV *) /* currently compiling subroutine */
-PERLVAR(I, comppad, AV *) /* storage for lexically scoped temporaries */
-PERLVAR(I, comppad_name, AV *) /* variable names for "my" variables */
+PERLVAR(I, comppad, PAD *) /* storage for lexically scoped temporaries */
+PERLVAR(I, comppad_name, PADNAMELIST *) /* variable names for "my" variables */
PERLVAR(I, comppad_name_fill, I32) /* last "introduced" variable offset */
PERLVAR(I, comppad_name_floor, I32) /* start of vars in innermost block */
PERLVAR(I, Latin1, SV *)
PERLVAR(I, AboveLatin1, SV *)
-PERLVAR(I, PerlSpace, SV *)
-PERLVAR(I, XPerlSpace, SV *)
-
-PERLVAR(I, L1PosixAlnum,SV *)
-PERLVAR(I, PosixAlnum, SV *)
-
-PERLVAR(I, L1PosixAlpha,SV *)
-PERLVAR(I, PosixAlpha, SV *)
-
-PERLVAR(I, PosixBlank, SV *)
-PERLVAR(I, XPosixBlank, SV *)
-
-PERLVAR(I, L1Cased, SV *)
-
-PERLVAR(I, PosixCntrl, SV *)
-PERLVAR(I, XPosixCntrl, SV *)
-
-PERLVAR(I, PosixDigit, SV *)
-
-PERLVAR(I, L1PosixGraph,SV *)
-PERLVAR(I, PosixGraph, SV *)
-
-PERLVAR(I, L1PosixLower,SV *)
-PERLVAR(I, PosixLower, SV *)
-
-PERLVAR(I, L1PosixPrint,SV *)
-PERLVAR(I, PosixPrint, SV *)
-
-PERLVAR(I, L1PosixPunct,SV *)
-PERLVAR(I, PosixPunct, SV *)
-
-PERLVAR(I, PosixSpace, SV *)
-PERLVAR(I, XPosixSpace, SV *)
-
-PERLVAR(I, L1PosixUpper,SV *)
-PERLVAR(I, PosixUpper, SV *)
-
-PERLVAR(I, L1PosixWord, SV *)
-PERLVAR(I, PosixWord, SV *)
-
-PERLVAR(I, PosixXDigit, SV *)
-PERLVAR(I, XPosixXDigit, SV *)
-
-PERLVAR(I, VertSpace, SV *)
+PERLVAR(I, NonL1NonFinalFold, SV *)
+PERLVAR(I, HasMultiCharFold, SV *)
/* utf8 character class swashes */
-PERLVAR(I, utf8_alnum, SV *)
-PERLVAR(I, utf8_alpha, SV *)
-PERLVAR(I, utf8_space, SV *)
-PERLVAR(I, utf8_graph, SV *)
-PERLVAR(I, utf8_digit, SV *)
-PERLVAR(I, utf8_upper, SV *)
-PERLVAR(I, utf8_lower, SV *)
-PERLVAR(I, utf8_print, SV *)
-PERLVAR(I, utf8_punct, SV *)
-PERLVAR(I, utf8_xdigit, SV *)
PERLVAR(I, utf8_mark, SV *)
-PERLVAR(I, utf8_X_begin, SV *)
+PERLVAR(I, utf8_X_regular_begin, SV *)
PERLVAR(I, utf8_X_extend, SV *)
-PERLVAR(I, utf8_X_prepend, SV *)
-PERLVAR(I, utf8_X_non_hangul, SV *)
-PERLVAR(I, utf8_X_L, SV *)
-PERLVAR(I, utf8_X_LV, SV *)
-PERLVAR(I, utf8_X_LVT, SV *)
-PERLVAR(I, utf8_X_T, SV *)
-PERLVAR(I, utf8_X_V, SV *)
-PERLVAR(I, utf8_X_LV_LVT_V, SV *)
PERLVAR(I, utf8_toupper, SV *)
PERLVAR(I, utf8_totitle, SV *)
PERLVAR(I, utf8_tolower, SV *)
PERLVAR(I, utf8_tofold, SV *)
-PERLVAR(I, utf8_quotemeta, SV *)
+PERLVAR(I, utf8_charname_begin, SV *)
+PERLVAR(I, utf8_charname_continue, SV *)
+
+PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
+PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *)
+PERLVARA(I, L1Posix_ptrs, POSIX_CC_COUNT, SV *)
+PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *)
+
PERLVAR(I, last_swash_hv, HV *)
PERLVAR(I, last_swash_tmps, U8 *)
PERLVAR(I, last_swash_slen, STRLEN)
-PERLVARA(I, last_swash_key,12, U8)
+PERLVARA(I, last_swash_key,UTF8_MAXBYTES-1, U8)
PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-12 */
#ifdef FCRYPT
Entry 0 is an SV whose PV is a
"packed" list of IVs listing
the now-free slots in the array */
+PERLVAR(I, stashpad, HV **) /* for CopSTASH */
+PERLVARI(I, stashpadmax, PADOFFSET, 64)
+PERLVARI(I, stashpadix, PADOFFSET, 0)
#endif
#ifdef USE_REENTRANT_API
PERLVAR(I, utf8_idcont, SV *)
PERLVAR(I, utf8_xidstart, SV *)
PERLVAR(I, utf8_perl_idstart, SV *)
+PERLVAR(I, utf8_perl_idcont, SV *)
PERLVAR(I, utf8_xidcont, SV *)
PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
PERLVARI(I, signalhook, despatch_signals_proc_t, Perl_despatch_signals)
#endif
-PERLVARI(I, hash_seed, UV, 0) /* Hash initializer */
-
-PERLVARI(I, rehash_seed, UV, 0) /* 582 hash initializer */
-
PERLVARI(I, isarev, HV *, NULL) /* Reverse map of @ISA dependencies */
/* Register of known Method Resolution Orders.
/* Hook for File::Glob */
PERLVARI(I, globhook, globhook_t, NULL)
-PERLVARI(I, glob_index, int, 0)
-PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
-
-/* The last unconditional member of the interpreter structure when 5.10.0 was
+/* The last unconditional member of the interpreter structure when 5.18.0 was
released. The offset of the end of this is baked into a global variable in
any shared perl library which will allow a sanity test in future perl
releases. */
-#define PERL_LAST_5_16_0_INTERP_MEMBER Ireentrant_retint
+#define PERL_LAST_5_18_0_INTERP_MEMBER Iglobhook
#ifdef PERL_IMPLICIT_CONTEXT
PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
PERLVARI(I, xmlfp, PerlIO *, NULL)
#endif
-#ifdef PL_OP_SLAB_ALLOC
-PERLVAR(I, OpPtr, I32 **)
-PERLVARI(I, OpSpace, I32, 0)
-PERLVAR(I, OpSlab, I32 *)
-#endif
-
-#ifdef PERL_DEBUG_READONLY_OPS
-PERLVARI(I, slabs, I32**, NULL) /* Array of slabs that have been allocated */
-PERLVARI(I, slab_count, U32, 0) /* Size of the array */
-#endif
-
#ifdef DEBUG_LEAKING_SCALARS
PERLVARI(I, sv_serial, U32, 0) /* SV serial number, used in sv.c */
#endif