X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/53e06cf030da5eb71c0b61c0690494f3c70e0555..c803703701b66ee8fee828b4344c92c4d0124184:/intrpvar.h?ds=sidebyside diff --git a/intrpvar.h b/intrpvar.h index 8a92d7d..f24f094 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -4,6 +4,10 @@ /* Don't forget to re-run embed.pl to propagate changes! */ +/* New variables must be added to the very end for binary compatibility. + * XSUB.h provides wrapper functions via perlapi.h that make this + * irrelevant, but not all code may be expected to #include XSUB.h. */ + /* The 'I' prefix is only needed for vars that need appropriate #defines * generated when built with or without MULTIPLICITY. It is also used * to generate the appropriate export list for win32. @@ -34,6 +38,8 @@ PERLVAR(Iminus_F, bool) PERLVAR(Idoswitches, bool) /* +=head1 Global Variables + =for apidoc mn|bool|PL_dowarn The C variable which corresponds to Perl's $^W warning variable. @@ -42,7 +48,7 @@ The C variable which corresponds to Perl's $^W warning variable. */ PERLVAR(Idowarn, U8) -PERLVAR(Iwidesyscalls, bool) /* wide system calls */ +PERLVAR(Iwidesyscalls, bool) /* unused since 5.8.1 */ PERLVAR(Idoextract, bool) PERLVAR(Isawampersand, bool) /* must save all match strings */ PERLVAR(Iunsafe, bool) @@ -78,7 +84,7 @@ PERLVAR(Iargvout_stack, AV *) /* shortcuts to regexp stuff */ /* this one needs to be moved to thrdvar.h and accessed via - * find_threadsv() when USE_THREADS */ + * find_threadsv() when USE_5005THREADS */ PERLVAR(Ireplgv, GV *) /* shortcuts to misc objects */ @@ -114,6 +120,7 @@ PERLVAR(IDBsub, GV *) PERLVAR(IDBsingle, SV *) PERLVAR(IDBtrace, SV *) PERLVAR(IDBsignal, SV *) +PERLVAR(IDBassertion, SV *) PERLVAR(Ilineary, AV *) /* lines of script for debugger */ PERLVAR(Idbargs, AV *) /* args to call listed by caller function */ @@ -220,12 +227,6 @@ PERLVAR(Ilinestart, char *) /* beg. of most recently read line */ PERLVAR(Ipending_ident, char) /* pending identifier lookup */ PERLVAR(Isublex_info, SUBLEXINFO) /* from toke.c */ -#ifdef USE_THREADS -PERLVAR(Ithrsv, SV *) /* struct perl_thread for main thread */ -PERLVARI(Ithreadnum, U32, 0) /* incremented each thread creation */ -PERLVAR(Istrtab_mutex, perl_mutex) /* Mutex for string table access */ -#endif /* USE_THREADS */ - PERLVAR(Iuid, Uid_t) /* current real user id */ PERLVAR(Ieuid, Uid_t) /* current effective user id */ PERLVAR(Igid, Gid_t) /* current real group id */ @@ -385,6 +386,7 @@ PERLVAR(Iutf8_mark, SV *) PERLVAR(Iutf8_toupper, SV *) PERLVAR(Iutf8_totitle, SV *) PERLVAR(Iutf8_tolower, SV *) +PERLVAR(Iutf8_tofold, SV *) PERLVAR(Ilast_swash_hv, HV *) PERLVAR(Ilast_swash_klen, U32) PERLVARA(Ilast_swash_key,10, U8) @@ -404,26 +406,6 @@ PERLVAR(Isrand_called, bool) PERLVARA(Iuudmap,256, char) PERLVAR(Ibitcount, char *) -#ifdef USE_THREADS -PERLVAR(Isv_mutex, perl_mutex) /* Mutex for allocating SVs in sv.c */ -PERLVAR(Ieval_mutex, perl_mutex) /* Mutex for doeval */ -PERLVAR(Ieval_cond, perl_cond) /* Condition variable for doeval */ -PERLVAR(Ieval_owner, struct perl_thread *) - /* Owner thread for doeval */ -PERLVAR(Inthreads, int) /* Number of threads currently */ -PERLVAR(Ithreads_mutex, perl_mutex) /* Mutex for nthreads and thread list */ -PERLVAR(Inthreads_cond, perl_cond) /* Condition variable for nthreads */ -PERLVAR(Isvref_mutex, perl_mutex) /* Mutex for SvREFCNT_{inc,dec} */ -PERLVARI(Ithreadsv_names,char *, THREADSV_NAMES) -#ifdef FAKE_THREADS -PERLVAR(Icurthr, struct perl_thread *) - /* Currently executing (fake) thread */ -#endif - -PERLVAR(Icred_mutex, perl_mutex) /* altered credentials in effect */ - -#endif /* USE_THREADS */ - PERLVAR(Ipsig_ptr, SV**) PERLVAR(Ipsig_name, SV**) @@ -444,13 +426,6 @@ PERLVAR(Iptr_table, PTR_TBL_t*) #endif PERLVARI(Ibeginav_save, AV*, Nullav) /* save BEGIN{}s when compiling */ -#ifdef USE_THREADS -PERLVAR(Ifdpid_mutex, perl_mutex) /* mutex for fdpid array */ -PERLVAR(Isv_lock_mutex, perl_mutex) /* mutex for SvLOCK macro */ -#endif - -PERLVAR(Inullstash, HV *) /* illegal symbols end up here */ - PERLVAR(Ixnv_arenaroot, XPV*) /* list of allocated xnv areas */ PERLVAR(Ixrv_arenaroot, XPV*) /* list of allocated xrv areas */ PERLVAR(Ixpv_arenaroot, XPV*) /* list of allocated xpv areas */ @@ -480,17 +455,51 @@ PERLVAR(Iregex_pad, SV**) /* All regex objects */ PERLVAR(Iregex_padav, AV*) /* All regex objects */ #ifdef USE_REENTRANT_API -PERLVAR(Ireentrant_buffer, REBUF*) /* here we store the _r buffers */ +PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */ #endif #endif PERLVAR(Isavebegin, bool) /* save BEGINs for compiler */ -#ifdef PERL_CUSTOM_OPS PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */ PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */ + +#ifdef PERLIO_LAYERS +PERLVARI(Iperlio, PerlIO *,NULL) +PERLVARI(Iknown_layers, PerlIO_list_t *,NULL) +PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL) #endif -/* New variables must be added to the very end for binary compatibility. + +PERLVARI(Iencoding, SV*, Nullsv) /* character encoding */ + +PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re extension */ + +PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */ + +#ifdef PL_OP_SLAB_ALLOC +PERLVAR(IOpPtr,I32 **) +PERLVARI(IOpSpace,I32,0) +PERLVAR(IOpSlab,I32 *) +#endif + +PERLVAR(Iutf8locale, bool) /* utf8 locale detected */ + +PERLVAR(Iutf8_idstart, SV *) +PERLVAR(Iutf8_idcont, SV *) + +PERLVAR(Isort_RealCmp, SVCOMPARE_t) + +PERLVARI(Icheckav_save, AV*, Nullav) /* save CHECK{}s when compiling */ + +PERLVARI(Iclocktick, long, 0) /* this many times() ticks in a second */ + +PERLVARI(Iin_load_module, int, 0) /* to prevent recursions in PerlIO_find_layer */ + +PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */ + +/* New variables must be added to the very end, before this comment, + * for binary compatibility (the offsets of the old members must not change). * XSUB.h provides wrapper functions via perlapi.h that make this * irrelevant, but not all code may be expected to #include XSUB.h. */ +