In perl.git, the branch smoke-me/bulk88/rt125296-wip-CopFILE-on-threads has 
been created

<http://perl5.git.perl.org/perl.git/commitdiff/7b886cfc5842afc6aaefb68a964d0cf49bb2bb00?hp=0000000000000000000000000000000000000000>

        at  7b886cfc5842afc6aaefb68a964d0cf49bb2bb00 (commit)

- Log -----------------------------------------------------------------
commit 7b886cfc5842afc6aaefb68a964d0cf49bb2bb00
Author: Daniel Dragan <[email protected]>
Date:   Sat Feb 20 14:29:38 2016 -0500

    squash to "WIP add API for refcounting CopFILE names with threads"
    
    George smoker fixes

M       hv.c

commit 446f57c4ab97dd3a7df258153169aeceb7c13b0f
Author: Daniel Dragan <[email protected]>
Date:   Fri Feb 19 14:25:14 2016 -0500

    WIP add API for refcounting CopFILE names with threads #8
    
    This has large memory savings, test prog,
    perl -MTest::More -e"system 'pause'"
    before 2196KB Private Bytes Win 7 32 bit to after 2092KB.
    
    -On a CHEK the refcount is a U32 for memory savings on 64 bit CPUs while
     SHEKs are Size_t for refcount because of HE struct, on 32 bit Size_t and
     U32 happen to be the same thing, if there is future integration the
     refcount members will have to be the same type, then duping a SHEK or
     a CHEK is the same code, except that HVhek_COMPILING controls whether to
     aquire OP_REFCNT_LOCK before touching the ref count, in the future with
     atomic operations, the refcount can be manipulated with atomic operations
     regardless if it is a SHEK or CHEK since OP_REFCNT_LOCK lines were removed
    -TODO figure out how to do static const CHEKs, hash member must be 0
     since its process specific randomized (rurban's B stores HEKs in RW static
     memory and fixes up the hash #s at runtime), add test and branch
     so that refcount isn't read and written or passed to PerlMemShared_free
     if static flag is on inidicating static const CHEK
    -TODO Perl_newGP uses CHEKs not CopFILE, no memcpy and add _< that way
    -TODO optimize the former alloca to smallbuf or Safefree or savestack
     newx free

M       cop.h
M       cv.h
M       embed.fnc
M       embed.h
M       ext/Devel-Peek/t/Peek.t
M       gv.c
M       gv.h
M       hv.c
M       hv.h
M       makedef.pl
M       op.c
M       pp_ctl.c
M       proto.h
M       scope.h
M       sv.c
M       sv.h

commit 5640725093c79f29db04799f07fbe4b25dab8f43
Author: Daniel Dragan <[email protected]>
Date:   Wed Feb 17 02:09:29 2016 -0500

    remove usage of obsolete OutCopFILE macro
    
    OutCopFILE was added in commit 248c2a4db2 in 5.7.2, and became obsolete in
    commit e37778c28b in 5.11.0. To allow future commits to use more varieties
    of CopFILE* macros around core, remove core usage of OutCopFILE. OutCopFILE
    can't be outright removed as CPAN grep shows some usage without a
    #ifndef OutCopFILE fallback.

M       cop.h
M       deb.c
M       pp_ctl.c
M       toke.c
M       util.c

commit 362671f5d490ae37112cf801e45d57b66031a8e0
Author: Daniel Dragan <[email protected]>
Date:   Thu Feb 11 15:21:55 2016 -0500

    remove unused arg in gv_fetchfile_flags
    
    Since gv_fetchfile_flags was created in commit d9095cec1b in 5.9.5 in 2007
    the flags argument has been unused and undefined as to its meaning.
    Remove the cpu instruction overhead of pushing the flags arg in the
    callers of gv_fetchfile_flags by changing it to a macro that drops out
    the flags argument. Only known callers are NYTProf and core's gv_fetchfile
    according to cpan grep. This commits sets up future refactoring of
    gv_fetchfile*.

M       embed.fnc
M       embed.h
M       gv.c
M       gv.h
M       proto.h
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to