lp:perl5

Created by Registry Administrators on 2010-05-01 and last modified on 2016-05-05
Get this branch:
bzr branch lp:perl5

Related bugs

Related blueprints

Branch information

Owner:
Registry Administrators
Project:
perl5
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://perl5.git.perl.org/perl.git.

The next import is scheduled to run in 5 hours.

Last successful import was 52 minutes ago.

Import started 53 minutes ago on pear and finished 52 minutes ago taking 1 minute — see the log
Import started 6 hours ago on pear and finished 6 hours ago taking 1 minute — see the log
Import started 12 hours ago on pear and finished 12 hours ago taking 1 minute — see the log
Import started 18 hours ago on pear and finished 18 hours ago taking 1 minute — see the log
Import started on 2016-05-05 on pear and finished on 2016-05-05 taking 1 minute — see the log
Import started on 2016-05-04 on neumayer and finished on 2016-05-04 taking 2 minutes — see the log
Import started on 2016-05-04 on pear and finished on 2016-05-04 taking 1 minute — see the log
Import started on 2016-05-04 on russkaya and finished on 2016-05-04 taking 1 minute — see the log
Import started on 2016-05-04 on pear and finished on 2016-05-04 taking 50 seconds — see the log
Import started on 2016-05-03 on pear and finished on 2016-05-03 taking 1 minute — see the log

Recent revisions

51673. By Ricardo Signes <email address hidden> 13 hours ago

CoreList: fix release date on v5.24.0

51672. By Ricardo Signes <email address hidden> on 2016-05-04

RC5: bump release date out for v5.24.0

51671. By Ricardo Signes <email address hidden> on 2016-05-03

corelist: fix a typo

51670. By Ricardo Signes <email address hidden> on 2016-05-03

patchlevel, perlhist: another day, another RC

51669. By David Mitchell <email address hidden> on 2016-05-03

RT #127855] Slowdown in m//g on COW strings

Better fix for this issue. The previous couple of commits revert an
earlier fix for this, which basically modified SvGROW or a particular
one of its callers to add 1 to the requested length to ensure that there
was space for any future COW reference count (which is stored in spare
byte off the end of the string if SvCUR + null byte < SvLEN).

It turns out that sv_grow() already does a +1 over-allocation (added by me
with v5.19.0-442-gcbcb2a1), *except* that I made it skip the +1 if the
request size seemed to be a large power of two: with the idea being that
if someone had requested an exact big power of two then they were probably
doing something with buffers, and wouldn't want an 0x10000001 byte buffer
when they requested 0x10000000 bytes. This was me basically being
conservative. However, I was probably too conservative: the simple test I
added just checked that bottom 8 bits were zero and if so, assumed that it
was a big buffer request. So as a side effect of this over-simple test,
something like 0x13d57f00 wouldn't be incremented to 0x13d57f01.

This is what was discovered in the original report in the the RT ticket:
strings allocated with lengths whose lower 8 bits were zero wouldn't have
space for a COW refcount, so would become much slower on things like

    while $g =~ m/0/g.

This commit improves the test so it only skips the +1 on lengths that
are an exact power of 2 and are greater than 0xfff.

51668. By David Mitchell <email address hidden> on 2016-05-03

test lexical $foo = "$foo"

There were some issues with this and SvGROW().
This only occured under valgrind or similar, and only when the first of
two reverts had been done - those revertd being two preceding commits.

See RT #127855.

51667. By David Mitchell <email address hidden> on 2016-05-03

Revert "fix #127855, in Perl_sv_setpvn() we have to overallocate to enable COW"

This reverts commit e19cb11142087974d956f263d24e146b968025d5.

This and the previous commit revert the two commits that were an original
fix for RT #127855, but which is fixed in a different way in a following
commit. See the ticket for more details.

51666. By David Mitchell <email address hidden> on 2016-05-03

Revert "More generalized fix for #127855"

This reverts commit bcc9f606509ad2fad50e16f081103451b7dc49e1.

This and the next commit revert the two commits that were an original fix
for RT #127855, but which is fixed in a different way in a following
commit. See the ticket for more details.

51665. By Ricardo Signes <email address hidden> on 2016-05-02

perldelta: update module versions

51664. By Ricardo Signes <email address hidden> on 2016-05-02

corelist: bump version past v5.22.2

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.