In perl.git, the branch sprout/cvgv has been created

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

        at  dad05ea801dfb471d309f61340520c2a10bb904f (commit)

- Log -----------------------------------------------------------------
commit dad05ea801dfb471d309f61340520c2a10bb904f
Author: Father Chrysostomos <[email protected]>
Date:   Fri Sep 5 22:01:44 2014 -0700

    fix-ups
    
    Some tests still fail.

M       gv.c
M       op.c
M       t/uni/gv.t
M       t/uni/parser.t

commit ca215a19cb243c5307004a51767dfe8fcb731ce1
Author: Father Chrysostomos <[email protected]>
Date:   Sun Aug 31 18:05:49 2014 -0700

    sv.h: Expand comment about potential SVf_UTF8 conflict

M       sv.h

commit 2c72363c96a8b1db46f4f158dfd3cf17c390369c
Author: Father Chrysostomos <[email protected]>
Date:   Sun Aug 31 20:13:21 2014 -0700

    Avoid creating GVs when subs are declared
    
    This patch changes ‘sub foo {...}’ declarations to store subroutine 
references in the stash, to save memory.
    
    Typeglobs still notionally exist.  Accessing CvGV(cv) will reify them.
    Hence, currently the savings are lost when a sub call is compiled.
    
    This optimisation is skipped if the subroutine declaration contains a
    package separator.
    
    $ ./miniperl -e 'sub foo{} BEGIN { warn $::{foo} } foo(); BEGIN { warn 
$::{foo} }'
    CODE(0x7f8ef082ad98) at -e line 1.
    *main::foo at -e line 1.
    
    Concerning the changes in caller.t, this code:
    
        sub foo { print +(caller(0))[3],"\n" }
        my $fooref = delete $::{foo};
        $fooref -> ();
    
    used to crash in 5.7.3 or thereabouts.  It was fixed by 16658 (aka
    07b8c804e8) to produce ‘(unknown)’ instead.  Then in 5.13.3 it was
    changed (by 803f274) to produce ‘main::__ANON__’ instead.  So the
    tests are really checking that we don’t get a crash.  I think it is
    acceptable that it has now changed to ‘main::foo’.

M       embed.fnc
M       gv.c
M       op.c
M       pp.c
M       pp_hot.c
M       proto.h
M       t/op/caller.t
M       t/op/gv.t
M       t/uni/gv.t
M       toke.c

commit 706a8a0a68168b9a716f485ef7a222784aa9f092
Author: Father Chrysostomos <[email protected]>
Date:   Sat Aug 30 10:26:58 2014 -0700

    op.c: Calculate hash for CvNAME_HEK
    
    I assumed when I wrote that code that share_hek would calculate the
    hash, like most hash functions; but this internal function assumes
    the caller does it.
    
    Hence, CVs were not sharing their heks with other types of thingies
    that have heks.  A CV named foo and a GV named foo would cause two
    heks of the same name to be present in the shared string table.

M       op.c
M       pad.c

commit b8f28fcd66fd9adcdbf65c7566ad7d7e62d70f77
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 18:26:36 2014 -0700

    For lexical subs, reify CvGV from CvSTASH and CvNAME_HEK
    
    From now on, the presence of a name hek implies a GV.  Any access to
    CvGV will cause that implicit GV to be reified.

M       cv.h
M       embed.fnc
M       ext/B/t/b.t
M       gv.c
M       inline.h
M       op.c
M       pp_hot.c
M       proto.h

commit 89b34b210872251131c338e8c47e6ffb85e43e2a
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 17:40:23 2014 -0700

    Increase $XS::APItest::VERSION to 0.64

M       ext/XS-APItest/APItest.pm

commit 73119bd68ec0d85092c2dadc70bc324015f01da1
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 17:39:48 2014 -0700

    Test cv_name

M       MANIFEST
M       ext/XS-APItest/APItest.xs
A       ext/XS-APItest/t/cv_name.t

commit 5c7f103142504401fda21301c0838818018a4eb9
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 16:03:22 2014 -0700

    pad.c: Document cv_name

M       pad.c

commit 7360e32be65974421ebe5e55160074fc2453fbb9
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 15:59:05 2014 -0700

    sv_cathek
    
    This macro, intended for internal use, simplifies the code in
    a couple of places.

M       pad.c
M       sv.h
M       util.c

commit bf1bccf332e0b77ac214ad9d7b918c0adcd0dfc5
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 15:56:30 2014 -0700

    cv_name
    
    An API function for getting the name of a CV.  Docs to follow.

M       embed.fnc
M       embed.h
M       pad.c
M       proto.h

commit 8805c9694f104e9c988ddc62cba0f2e7b7c18f68
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 17:37:55 2014 -0700

    Turn on CVf_LEXICAL for lexical subs
    
    This flag will signify that lexical subs should not have package names
    associated with them in error messages, etc.

M       gv.c
M       op.c
M       pad.c
M       scope.c

commit d2315fc74da531f27cfa5735ed12f4fbc744ae28
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 12:55:56 2014 -0700

    Add CVf_LEXICAL flag
    
    Lexical subs will use this instead of CvNAMED to indicate that the
    name should not include the package.

M       cv.h
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to