In perl.git, the branch smoke-me/global-struct has been created
<http://perl5.git.perl.org/perl.git/commitdiff/027cdb02897e75b7db272f715e535e74e83a8670?hp=0000000000000000000000000000000000000000>
at 027cdb02897e75b7db272f715e535e74e83a8670 (commit)
- Log -----------------------------------------------------------------
commit 027cdb02897e75b7db272f715e535e74e83a8670
Author: Nicholas Clark <[email protected]>
Date: Mon May 2 21:22:08 2011 +0100
Re-order perlvars.h to group related variables, and spread mutexes out.
Move variables smaller than pointers into groups, to avoid holes in the
structure for PERL_GLOBAL_STRUCT. Spreading the mutexes out tries to keep
them
off the same cache lines, which may help slightly on multi-processor
machines.
M perlvars.h
commit 49aa7b2dc224533b89a544d1932c8132df20f31c
Author: Nicholas Clark <[email protected]>
Date: Mon May 2 20:24:25 2011 +0100
PL_perlio_mutex is only needed with USE_UIHREADS && USE_PERLIO
(Not that Configure will let you configure with ithreads but without perlio)
M perlvars.h
commit 4760e4e559192c490fd2ee2557acc400dd2153ad
Author: Nicholas Clark <[email protected]>
Date: Mon May 2 17:51:11 2011 +0100
Change PL_use_safe_putenv from int to bool.
It is only ever checked for truth/falsehood, and all assignments to it (in
core
and on CPAN) are either 0 or 1.
M miniperlmain.c
M perlvars.h
commit 2d341f284b56895d45619540bbb28542edceb37e
Author: Nicholas Clark <[email protected]>
Date: Mon May 2 15:02:57 2011 +0100
Move PL_runops_{std,dbg} to perl.h, and make them const.
They exist solely to ensure that Perl_runops_standard and Perl_runops_debug
are linked in - nothing assigns to either variable, and nothing reads them.
M embedvar.h
M globvar.sym
M perl.h
M perlapi.h
M perlvars.h
commit 27adfc111cf3e7fd3ce2392a749b12643163dbaa
Author: Nicholas Clark <[email protected]>
Date: Sun May 1 22:12:15 2011 +0100
Move PL_global_struct_size, PL_interp_size{,_5_16_0} to perl.h
Make them const U16 - they should have been const from the start.
M embedvar.h
M globvar.sym
M perl.h
M perlapi.h
M perlvars.h
commit 4d7167e86065a6d6143bf58e7cf2634c8131c6d9
Author: Nicholas Clark <[email protected]>
Date: Sun May 1 21:13:01 2011 +0100
In perlvar.h, move the always-present globals above those conditionally
compiled
Rename PL_interp_size_5_10_0 to PL_interp_size_5_16_0, as it is only
intended to
track interpreter size within (forwards) binary compatible maintenance
branches.
M embedvar.h
M intrpvar.h
M makedef.pl
M perlapi.h
M perlvars.h
commit d2e5c5337bd78b3d4f1908be0360eb809412794a
Author: Nicholas Clark <[email protected]>
Date: Sun May 1 14:39:31 2011 +0100
Move PL_{revision,version,subversion} to perl.h, making them const U8.
To get the initialisation to work, the location of #include patchlevel.h
needs
to be moved.
M embedvar.h
M globvar.sym
M perl.h
M perlapi.h
M perlvars.h
commit 851a94d81cc976b4186925ed45aa81c0a52e60c1
Author: Nicholas Clark <[email protected]>
Date: Sun May 1 12:25:58 2011 +0100
Move PL_sh_path to perl.h (except for OS/2), as it's const char[]
On OS/2, keep it in perlvars.h, as it's not const there. makedef.pl doesn't
pay attention to C pre-processor symbols, so it will always see the
declaration
in perlvars.h, and add the symbol to the linker file, so no need to mention
sh_path in globvar.sym. Add special case logic in regen/embed.pl to make the
embedvar.h macros for PL_sh_path defined only on OS/2.
M embedvar.h
M perl.h
M perlvars.h
M regen/embed.pl
commit 477cc9740aae2966481e7da0a3a69f7fc13585b5
Author: Nicholas Clark <[email protected]>
Date: Sat Apr 30 23:01:07 2011 +0100
Move PL_{No,Yes,hexdigit} from perlvars.h to perl.h, as all are const char[]
They were converted in perl.h from const char[] to #define in
31fb120917c4f65d,
then re-instated as const char[], but in perlvars.h, in 3fe35a814d0a98f4.
There's no need for compile-time constants to jump through the hoops of
perlvars.h, even for Symbian, as the various "EXTCONST" variables already in
perl.h demonstrate.
These were the only 3 users of the the PERLVARISC macro, so eliminate that,
and
all related code.
M embedvar.h
M globvar.sym
M perl.h
M perlapi.c
M perlapi.h
M perlvars.h
M regen/embed.pl
M util.c
commit 48cd55fac61a32e2050c5d3d74fd80a088c036a5
Author: Nicholas Clark <[email protected]>
Date: Sat Apr 30 21:49:03 2011 +0100
Eliminate PL_patleave, unused since perl 5.0 alpha 2.
patleave was added in perl 3.0 patch #35 patch #29 -- 395c379347344a50,
used in scanpat(). scanpat() was refactored and renamed to scan_pat() in
5.0 alpha 2, "commented" out with the C pre-processor in 5.000, and removed
in
5.001.
M embedvar.h
M perlapi.h
M perlvars.h
commit 202deb6b5aa77a43aa52e7e9f531c52130b144f9
Author: Nicholas Clark <[email protected]>
Date: Sat Apr 30 16:10:20 2011 +0100
Move the temporary definitions for PERLVAR* macros inside #ifdef
MULTIPLICITY
Under MULTIPLICITY, intrpvar.h is included "early", as:
struct interpreter {
# include "intrpvar.h"
};
with local definitions of PERLVAR{,A,I,IS,ISC} that generate output text
for the
"variables" as structure members. Additionally, under PERL_GLOBAL_STRUCT
"perlvars.h" is included within struct perl_vars { ... }.
Move the definition/undefining of these 5 macros to within the
#ifdef MULTIPLICITY block, to clarify the limited intent of their scope.
Move some additional related PERL_GLOBAL_STRUCT setup to within the block.
M perl.h
-----------------------------------------------------------------------
--
Perl5 Master Repository