X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c3c974a67f0c45348e2d8d31bc20ceb1672d9fa5..eba1666137b7e1350d666a934a5e99ced3f50088:/intrpvar.h diff --git a/intrpvar.h b/intrpvar.h index a6a4a1c..373d181 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -162,7 +162,9 @@ PERLVAR(Iregdummy, regnode) /* from regcomp.c */ PERLVARI(Idumpindent, U16, 4) /* number of blanks per dump indentation level */ -/* Space for U16 here without increasing the structure size */ + +PERLVAR(Iutf8locale, bool) /* utf8 locale detected */ +PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */ PERLVARA(Icolors,6, char *) /* from regcomp.c */ @@ -256,10 +258,8 @@ PERLVAR(Istatusvalue_vms,U32) PERLVAR(Istatusvalue_posix,I32) #endif -#ifdef CSH -PERLVARI(Icshlen, I32, 0) -PERLVARI(Icshname, const char *, CSH) -#endif +PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */ +PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */ /* shortcuts to various I/O objects */ PERLVAR(Istdingv, GV *) @@ -359,6 +359,7 @@ PERLVAR(Iors_sv, SV *) /* output record separator $\ */ /* statics moved here for shared library purposes */ PERLVARI(Igensym, I32, 0) /* next symbol for getsym() to define */ PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */ +PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */ PERLVARI(Ilaststype, U16, OP_STAT) PERLVARI(Ilaststatval, int, -1) @@ -551,13 +552,6 @@ PERLVARI(Ibeginav_save, AV*, NULL) /* save BEGIN{}s when compiling */ PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */ -PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */ -PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */ - - -PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */ -PERLVAR(Iutf8locale, bool) /* utf8 locale detected */ -PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */ #ifdef USE_LOCALE_NUMERIC @@ -575,13 +569,6 @@ PERLVAR(Iregex_padav, AV*) /* All regex objects */ PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */ #endif - -#ifdef PERL_MAD -PERLVARI(Imadskills, bool, FALSE) /* preserve all syntactic info */ - /* (MAD = Misc Attribute Decoration) */ -PERLVARI(Ixmlfp, PerlIO *,NULL) -#endif - PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */ PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */ @@ -595,12 +582,6 @@ PERLVARI(Iencoding, SV*, NULL) /* character encoding */ PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re extension */ -#ifdef PL_OP_SLAB_ALLOC -PERLVAR(IOpPtr,I32 **) -PERLVARI(IOpSpace,I32,0) -PERLVAR(IOpSlab,I32 *) -#endif - PERLVAR(Iutf8_idstart, SV *) PERLVAR(Iutf8_idcont, SV *) @@ -634,28 +615,26 @@ PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(PERL_UNLOCK_HOOK)) PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook)) -/* Stores the PPID */ -#ifdef THREADS_HAVE_PIDS -PERLVARI(Ippid, IV, 0) -#endif - PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */ PERLVAR(IDBassertion, SV *) PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */ -#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP -/* File descriptor to talk to the child which dumps scalars. */ -PERLVARI(Idumper_fd, int, -1) -#endif +PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */ + +/* The last unconditional member of the interpreter structure when 5.10.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_10_0_INTERP_MEMBER Iisarev #ifdef PERL_IMPLICIT_CONTEXT PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */ PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */ -#ifdef PERL_GLOBAL_STRUCT_PRIVATE +# ifdef PERL_GLOBAL_STRUCT_PRIVATE PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */ -#endif +# endif #endif #ifdef PERL_TRACK_MEMPOOL @@ -663,15 +642,38 @@ PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to M PERLVAR(Imemory_debug_header, struct perl_memory_debug_header) #endif +#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP +/* File descriptor to talk to the child which dumps scalars. */ +PERLVARI(Idumper_fd, int, -1) +#endif + +/* Stores the PPID */ +#ifdef THREADS_HAVE_PIDS +PERLVARI(Ippid, IV, 0) +#endif + +#ifdef PERL_MAD +PERLVARI(Imadskills, bool, FALSE) /* preserve all syntactic info */ + /* (MAD = Misc Attribute Decoration) */ +PERLVARI(Ixmlfp, PerlIO *,NULL) +#endif + +#ifdef PL_OP_SLAB_ALLOC +PERLVAR(IOpPtr,I32 **) +PERLVARI(IOpSpace,I32,0) +PERLVAR(IOpSlab,I32 *) +#endif + #ifdef PERL_DEBUG_READONLY_OPS PERLVARI(Islabs, I32**, NULL) /* Array of slabs that have been allocated */ PERLVARI(Islab_count, U32, 0) /* Size of the array */ #endif -PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */ +/* Can shared object be destroyed */ +PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable)) -/* If you are adding a U8 or U16, see the 'Space' comments above on where - * there are gaps which currently will be structure padding. */ +/* 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. */ /* Within a stable branch, new variables must be added to the very end, before * this comment, for binary compatibility (the offsets of the old members must