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

Reply via email to