PERLVAR(Icurstash, HV *) /* symbol table for current package */
PERLVAR(Irestartop, OP *) /* propagating an error from croak? */
-PERLVAR(Icurcop, COP * VOL)
+PERLVAR(Icurcop, COP *)
PERLVAR(Icurstack, AV *) /* THE STACK */
PERLVAR(Icurstackinfo, PERL_SI *) /* current stack + context */
PERLVAR(Imainstack, AV *) /* the stack when nothing funny is
PERLVAR(Icolorset, bool) /* from regcomp.c */
PERLVARI(Idirty, bool, FALSE) /* in the middle of tearing things
down? */
-PERLVAR(Iin_eval, VOL U8) /* trap "fatal" errors? */
+PERLVAR(Iin_eval, U8) /* trap "fatal" errors? */
PERLVAR(Itainted, bool) /* using variables controlled by $< */
/* This value may be set when embedding for full cleanup */
/* 0=none, 1=full, 2=full with checks */
-PERLVARI(Iperl_destruct_level, U8, 0)
+/* mod_perl is special, and also assigns a meaning -1 */
+PERLVARI(Iperl_destruct_level, signed char, 0)
PERLVAR(Iperldb, U32)
PERLVARI(Isplitstr, const char *, " ")
PERLVAR(Iminus_c, bool)
-PERLVAR(Ipreprocess, bool)
PERLVAR(Iminus_n, bool)
PERLVAR(Iminus_p, bool)
PERLVAR(Iminus_l, bool)
PERLVAR(Iminus_a, bool)
PERLVAR(Iminus_F, bool)
PERLVAR(Idoswitches, bool)
-
PERLVAR(Iminus_E, bool)
/*
PERLVAR(Isrand_called, bool)
/* Part of internal state, but makes the 16th 1 byte variable in a row. */
PERLVAR(Itainting, bool) /* doing taint checks */
+/* Space for a U8 */
PERLVAR(Iinplace, char *)
PERLVAR(Ie_script, SV *)
PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
PERLVAR(Ilastfd, int) /* what to preserve mode on */
PERLVAR(Ioldname, char *) /* what to preserve mode on */
-PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */
+PERLVAR(IArgv, const char **) /* stuff to free from do_aexec, vfork safe */
PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
/* Elements in this array have ';' appended and are injected as a single line
into the tokeniser. You can't put any (literal) newlines into any program
#endif
#if defined(USE_ITHREADS)
-PERLVAR(Iregex_pad, SV**) /* All regex objects */
-PERLVAR(Iregex_padav, AV*) /* All regex objects */
-
+PERLVAR(Iregex_pad, SV**) /* Shortcut into the array of
+ regex_padav */
+PERLVAR(Iregex_padav, AV*) /* All regex objects, indexed via the
+ values in op_pmoffset of pmop.
+ Entry 0 is an SV whose PV is a
+ "packed" list of IVs listing
+ the now-free slots in the array */
#endif
#ifdef USE_REENTRANT_API
PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
-PERLVAR(IDBassertion, SV *)
-
PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
PERLVARI(Islab_count, U32, 0) /* Size of the array */
#endif
+/* Can shared object be destroyed */
+PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
+
/* If you are adding a U8 or U16, check to see if there are 'Space' comments
* above on where there are gaps which currently will be structure padding. */