In perl.git, the branch smoke-me/khw-blead has been created

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

        at  9d68dba11fd63ad66354452a0c8989e4c569795b (commit)

- Log -----------------------------------------------------------------
commit 9d68dba11fd63ad66354452a0c8989e4c569795b
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 19:01:22 2014 -0800

    perl5220delta: Function::Parameters is fixed
    
    And it was fixed a month ago.  I missed it.

M       Porting/perl5220delta.pod

commit c130caa1805e1f490e73aed73444006d0a40f49d
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 18:02:49 2014 -0800

    op.c: Use ASSUME in multideref code
    
    Under non-debugging builds, this gives the compiler hints about what
    optimisations it can take.  With clang, I see a slight reduction in
    the size of op.o:
    
    $ ls -l op.o
    -rw-r--r--  1 sprout  staff  192480 Dec 20 18:00 op.o
    $ ls -l op.o
    -rw-r--r--  1 sprout  staff  192432 Dec 20 18:01 op.o

M       op.c

commit 57ee255ea7360fa9753a3025f9f8751ea6340d7d
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:57:47 2014 -0800

    op.c: Skip allocating entersub targ for Perl sub
    
    The target of entersub ops is only used by XSUBs to return things.
    Pure-Perl subs don’t use the target.  (And if a pure-Perl sub is
    later replaced with an XS one, dXSTARG already has a workaround.)

M       op.c
M       opcode.h
M       regen/opcodes

commit 71b44dba0356e9051049c5bae6fa1ac981114332
Author: Father Chrysostomos <[email protected]>
Date:   Sun Dec 21 07:08:25 2014 -0800

    Increase $Data::Dumper::VERSION to 2.156

M       dist/Data-Dumper/Dumper.pm

commit 1d81070ca144bd13aff541b3c7f6054dce2c7429
Author: Father Chrysostomos <[email protected]>
Date:   Sun Dec 21 07:07:51 2014 -0800

    Increase $Opcode::VERSION to 1.31

M       ext/Opcode/Opcode.pm

commit 3891fb2fc9427c44fcc1e3a21425c2ddc38f7522
Author: Father Chrysostomos <[email protected]>
Date:   Sun Dec 21 07:07:21 2014 -0800

    Increase $POSIX::VERSION to 1.49

M       ext/POSIX/lib/POSIX.pm

commit 374afbe1381d78c82d38baba9b43eb79954c6946
Author: Father Chrysostomos <[email protected]>
Date:   Sun Dec 21 07:06:58 2014 -0800

    Increase $arybase::VERSION to 0.10

M       ext/arybase/arybase.pm

commit 03b8ad7c28727a9b66afb019ddc40d44b81e79b4
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 19:08:38 2014 -0800

    deparse-skips.txt: op/gv.t is failing

M       Porting/deparse-skips.txt

commit 7143f21c482af816521c0e2affd8270cb71e7f9a
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 07:14:01 2014 -0800

    Disallow GIMME in ext/
    
    It’s an inefficient macro, so we don’t want it inadvertently
    used again.

M       op.h

commit 0ca025e47604534f75322628e0f120cfcf8ccd2c
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 07:10:34 2014 -0800

    Increase $VMS::DCLsym::VERSION to 1.06

M       ext/VMS-DCLsym/DCLsym.pm

commit 7279e36881f8e795229e1801985b4bde90e8c6b9
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 07:10:01 2014 -0800

    Increase $Safe::VERSION to 2.39

M       dist/Safe/Safe.pm

commit a89f9420b425626f009d1ec2f4137f8aee296940
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 07:09:13 2014 -0800

    Remove bogus ST(0) assignment from DCLsym.xs
    
    If we are using PPCODE, then simply assigning to ST(0) won’t return
    the value, unless we also do SP++.  So this function has been return-
    ing an empty list on failure and the ST(0) assignment has been
    doing nothing.

M       ext/VMS-DCLsym/DCLsym.xs

commit 7a30efb0690a79ec5b73a44d8d8dc26e51f5814c
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 07:05:56 2014 -0800

    Remove bogus GIMME check from DCLsym.xs
    
    GIMME used to return 0 for scalar context.  As of 5.12, it never
    returns 0.  As it happens, this function (_getsym) is only ever called
    in one spot (by getsym) and in list context.  So don’t even bother
    with the check.

M       ext/VMS-DCLsym/DCLsym.xs

commit de915ff5c336595e7d97c39f774b25be56a685be
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 06:55:36 2014 -0800

    Use GIMME_V in POSIX
    
    GIMME_V is a simpler macro that results in smaller machine code.

M       ext/POSIX/POSIX.xs

commit be6d3c15968f42201520d9a3b83b92e839bbc6c5
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 06:54:52 2014 -0800

    Use GIMME_V in Opcode
    
    GIMME_V is a simpler macro that results in smaller machine code.

M       ext/Opcode/Opcode.xs

commit 1cc1a1a3a2a7e06aef7fbe3404b81061ea641b7a
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 06:52:29 2014 -0800

    Safe Changes update

M       dist/Safe/Changes

commit 2e4af4cf6b38b2c5a571e1232ee507b8a01cda8a
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 06:50:12 2014 -0800

    Propagate context properly in Safe->reval
    
    (or, rather, in Opcode.xs).
    
    It was providing scalar context when invoked in void context.  Test-
    ing Safe->reval itself is complicated, because Opcode.xs, which is an
    essential part of the fix, is not dual-life.

M       dist/Safe/Safe.pm
M       dist/Safe/t/safe2.t
M       ext/Opcode/Opcode.xs
M       ext/Opcode/t/Opcode.t

commit cee11a521f0966a42b8be1949f915e0c926c9f20
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 06:50:08 2014 -0800

    Use GIMME_V in arybase
    
    GIMME_V is a simpler macro that results in smaller machine code.

M       ext/arybase/arybase.xs

commit 59421c01e9828b05d4753dff9143f374191887ee
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 05:39:51 2014 -0800

    Use GIMME_V in Data::Dumper
    
    GIMME_V is a simpler macro that results in smaller machine code.

M       dist/Data-Dumper/Dumper.xs

commit c379aaf4d7a20df8c2c6eeb4f901037b9c3057bb
Author: Max Maischein <[email protected]>
Date:   Sun Dec 21 12:14:24 2014 +0100

    Missed the %deprecated entry in Module::CoreList

M       dist/Module-CoreList/lib/Module/CoreList.pm

commit e31034da4547cf4bcecd416395eff1d626de25d1
Author: Max Maischein <[email protected]>
Date:   Sun Dec 21 11:18:45 2014 +0100

    Bump version number to 5.21.8
    
    Add 5.21.8 in Module::CoreList
    Point Maintainers.pl to new version of Module::CoreList

M       Cross/config.sh-arm-linux
M       Cross/config.sh-arm-linux-n770
M       INSTALL
M       META.json
M       META.yml
M       NetWare/Makefile
M       NetWare/config_H.wc
M       Porting/Maintainers.pl
M       Porting/config.sh
M       Porting/config_H
M       Porting/perl5220delta.pod
M       Porting/perldelta_template.pod
M       Porting/todo.pod
M       README.haiku
M       README.macosx
M       README.os2
M       README.vms
M       dist/Module-CoreList/lib/Module/CoreList.pm
M       dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
M       dist/Module-CoreList/lib/Module/CoreList/Utils.pm
M       hints/catamount.sh
M       intrpvar.h
M       lib/B/Op_private.pm
M       patchlevel.h
M       plan9/config.plan9
M       plan9/config_sh.sample
M       win32/Makefile
M       win32/makefile.mk

commit b5d4d3b9564344c8ca047e569368a82016215fa3
Author: Max Maischein <[email protected]>
Date:   Sun Dec 21 10:36:04 2014 +0100

    Create new perldelta

M       MANIFEST
M       Makefile.SH
M       pod/.gitignore
M       pod/perl.pod
A       pod/perl5217delta.pod
M       pod/perldelta.pod
M       vms/descrip_mms.template
M       win32/Makefile
M       win32/makefile.mk
M       win32/pod.mak

commit d171d861d6628c21e57b207db12486ac035da531
Author: Max Maischein <[email protected]>
Date:   Sun Dec 21 10:01:21 2014 +0100

    Update epigraphs.pod

M       Porting/epigraphs.pod

commit b658dbbe904f8096ba013d6614c5c2d04b467237
Merge: 8be8179 846dac6
Author: Max Maischein <[email protected]>
Date:   Sat Dec 20 18:38:50 2014 +0100

    Merge branch 'release-5.21.7' into blead

commit 846dac6786c1ada87b95d0268c0a9772a4bd04fc
Author: Max Maischein <[email protected]>
Date:   Sat Dec 20 15:52:25 2014 +0100

    add new release to perlhist

M       pod/perlhist.pod

commit 60dde9d3b9b1296d69723baf1dbe439cd63a1c20
Author: Max Maischein <[email protected]>
Date:   Sat Dec 20 15:52:16 2014 +0100

    Update perldelta

M       pod/perldelta.pod

commit e544daaa5a83562ae477105c5170d971332f4dd6
Author: Max Maischein <[email protected]>
Date:   Sat Dec 20 15:01:57 2014 +0100

    Update Module::CoreList for 5.21.7

M       dist/Module-CoreList/Changes
M       dist/Module-CoreList/lib/Module/CoreList.pm

commit 8be81792ba44d3a753941b9e3168c3b0ab0da96c
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 05:26:02 2014 -0800

    Skip multideref for PL_check[OP_HELEM] tinkering
    
    We already do it when PL_check[OP_AELEM] is modified.  Do it
    also for PL_check[OP_HELEM].  This will make it easier to get
    Data::Alias working.

M       op.c

commit 26334c4df83abbbbf5402fb36a65d890ae6983d9
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 05:21:41 2014 -0800

    dump.c: Suppress extra sigils in multideref dump
    
    This:
    
      my $z; my @y; $y[$z]
    
    included
    
      <+> multideref($@y[$$z]) sK ->6
    
    in its -MO=Concise output.

M       dump.c

commit ff94d24c25095d8424bbf5d982a0bc5c1e6fbece
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 05:06:13 2014 -0800

    dump.c:unop_aux_stringify: Use newSVpvn_flags
    
    newSVpvn_flags with SVs_TEMP takes less machine code than
    sv_2mortal(newSVpv()).

M       dump.c

commit e026fc88d21a3ce88941ee3a71e5d34982ee577a
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 04:43:56 2014 -0800

    Allow multideref for $x[CONST->$*]

M       op.c

commit 6304db22652a2421df2091bca93572bee408de6b
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 04:38:15 2014 -0800

    Allow multideref for $x[($pkg)]
    
    The parens don’t need to disable the optimisation.

M       op.c

commit db7bc125e0ddb063b2aac8686e21a031b1efbb85
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 04:35:24 2014 -0800

    Fix assertion failure with $x[CONST->[0]]

M       op.c
M       t/comp/parser.t

commit b39c1059f09e1dd312ba1d5d2e39730eb5c50402
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 04:33:47 2014 -0800

    Fix assertion failure with $x[($_)]

M       op.c
M       t/comp/parser.t

commit 47c8411bbf59cf2d70cf50ccb21ac0cf33a7d17c
Author: Father Chrysostomos <[email protected]>
Date:   Sat Dec 20 04:29:08 2014 -0800

    Allow multideref for $x[($lex)]
    
    The parens don’t need to disable the optimisation.
    
    (The OPpLVAL_INTRO flag [indicating my or state] has no run-time
    effect for state vars, so we could ignore it and optimise, but it
    would make deparsing inordinately complex, and no-one would write
    $x[state $y] anyway.)

M       op.c

commit 99807a43ff8067f13ddb17de59a7e1331a0051ea
Author: Hugo van der Sanden <[email protected]>
Date:   Sat Dec 20 12:21:27 2014 +0000

    protect RExC_naughty changes behind macros
    
    Avoid overflow, and add a bit of explanation.

M       regcomp.c

commit 9745959a89f3a201c789b8e4ce494405f95b2a7a
Author: Tony Cook <[email protected]>
Date:   Sat Dec 20 13:52:29 2014 +1100

    PerlIO::scalar: skip the 4GB seek test if off_t is too small

M       ext/PerlIO-scalar/t/scalar.t

commit 898c5644d1595a2fee23494ee81ea932edb930c1
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:42:30 2014 -0800

    01234567890123456789012345678901234567890123456789
    pp.h: Remove stack-popping from void overload code
    
    There is no need to pop the stack in void context, as every void-context
    op is followed by something that resets the stack.

M       pp.h

commit 7b46bf4c9fea9c8ec5466c74e7b96886d1a4f1da
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:20:42 2014 -0800

    [perl #123458] list cx re::regexp_pattern($nonre)
    
    It was returning (undef) in list context, though it was documented to
    return the empty list.

M       ext/re/t/re_funcs_u.t
M       universal.c

commit b1dcc8e278f8fb24401a718bd5acc1b867192967
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:15:05 2014 -0800

    universal.c:re_regexp_pattern: Mention GIMME_V once
    
    While it was only being called once, it occurred in two code paths.
    Pulling it out of the main if-block reduces the size of universal.o.
    Before and after:
    
    $ ls -l universal.o
    -rw-r--r--  1 sprout  staff  33700 Dec 19 16:05 universal.o
    $ ls -l universal.o
    -rw-r--r--  1 sprout  staff  33692 Dec 19 16:13 universal.o

M       universal.c

commit da39159d3568bc6c07f00643d0677d68705ee94f
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:11:32 2014 -0800

    pp_sys.c:pp_readdir: Call GIMME_V just once

M       pp_sys.c

commit 48ebc3253f8f15cf0f8fd8ddb50557527aea8523
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:09:53 2014 -0800

    pp_ctl.c: Only do GIMME_V once in pp_caller
    
    This shrinks the machine code.
    
    Before and after:
    
    $ ls -l pp_ctl.o
    -rw-r--r--  1 sprout  staff  96156 Dec 19 16:05 pp_ctl.o
    $ ls -l pp_ctl.o
    -rw-r--r--  1 sprout  staff  96044 Dec 19 16:09 pp_ctl.o

M       pp_ctl.c

commit 82334630454b4b4e55257e3bf48f998a8a2814a9
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 16:05:15 2014 -0800

    Use GIMME_V in preference to GIMME
    
    GIMME_V is a simpler macro that results in smaller machine code.
    
    GIMME does not distinguish between scalar and void context.  The two
    instances of GIMME == G_SCALAR that I changed (which used to match
    void context too, but no longer do) are in code paths unreachable in
    void context, so we don’t need to check for it.

M       op.h
M       pp.c
M       pp_ctl.c
M       pp_hot.c
M       pp_sort.c
M       pp_sys.c

commit 54408af452c3b8791b74227d549ac4a2d660d916
Author: Father Chrysostomos <[email protected]>
Date:   Fri Dec 19 12:41:43 2014 -0800

    wantarray.t: $got before $expected
    
    When the tests fail, the diagnostic output is very confusing
    otherwise.

M       t/op/wantarray.t

commit 199268fb4e8ba9ab9224e6b7e5a7d19050325e16
Author: Father Chrysostomos <[email protected]>
Date:   Thu Dec 18 20:25:06 2014 -0800

    wantarray.t: Test logops at sub exit

M       t/op/wantarray.t

commit 9702249de488d40a6ba0bec6d0aad890f20314b7
Author: Father Chrysostomos <[email protected]>
Date:   Thu Dec 18 17:57:44 2014 -0800

    wantarray.t: Remove unused var
    
    It stopped being used in dab34d0f01.

M       t/op/wantarray.t

commit db58a81c116b9bdc669c1b1a8cb7fd33627a926b
Author: David Mitchell <[email protected]>
Date:   Fri Dec 19 22:52:55 2014 +0000

    fix integer overflow in S_regpiece().
    
    RExC_naughty is incremented when nasty bits of regex are found.
    If at the end of compilation, its > 01, then PREGf_NAUGHTY is set on the
    pattern.
    
    However, some bits of S_regpiece on detecting naughiness, double or nearly
    double RExC_naughty, quickly resulting in overflow of the I32.
    
    I've fixed it by skipping the doubling when RExC_naughty is large,
    but I don't know whether the doubling is conceptually wrong in the first
    place.
    
    Found by -fsanitize=undefined.

M       regcomp.c

commit a1b2073ef1dbfca70742296d373883902e6188b7
Author: David Mitchell <[email protected]>
Date:   Fri Dec 19 22:35:48 2014 +0000

    fix integer overflow in S_study_chunk().
    
    It was adding to delta even when delta was already SSize_t_MAX
    
    This triggered it: /.*(ab|abc)/.
    
    Found by -fsanitize=undefined.

M       regcomp.c

commit 55b6a5f665b57d91246b00d58d8bf9ba32c7cdc3
Author: David Mitchell <[email protected]>
Date:   Fri Dec 19 22:19:58 2014 +0000

    fix integer overflow in S_study_chunk().
    
    It was adding SSize_t_MAX to data->last_start_max when
    data->last_start_max was already SSize_t_MAX.
    
    This triggered it: /(x+y)+/.
    
    Found by -fsanitize=undefined.

M       regcomp.c

commit 646e87871404a31d5a6c6ac42ca921078d055354
Author: David Mitchell <[email protected]>
Date:   Fri Dec 19 21:41:11 2014 +0000

    fix integer overflow in S_scan_commit().
    
    offset_float_max could end up as SSize_t_MAX+1.
    
    This triggered it: /^x(ab|c.+)$/.
    
    Found by -fsanitize=undefined.

M       regcomp.c

commit 2e2c882dd53d6b966a0cd3b0ef111ff9e85f2c41
Author: David Mitchell <[email protected]>
Date:   Fri Dec 19 20:31:00 2014 +0000

    add asan_ignore - which errors to ignore
    
    "clang -fsanitize=undefined" produces lots of false positives.
    This file allows certain functions to be excluded from checking.
    Use it as:
    
        clang -fsanitize=undefined -fsanitize-blacklist=`pwd`/asan_ignore

M       MANIFEST
A       asan_ignore
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to