Fixing Perl5 Core Bugs: Report for Month 32

No Comments

Dave Mitchell writes:

As per my grant conditions, here is a report for the October period. (sorry, this report is about 3 weeks late).

Last month was mostly spent continuing to work on the PADRANGE optimisation. The work is actually complete now, but was finished after the end of this report's scope, so will be covered in more detail in next month's report.

Apart from working the PADRANGE optimisation itself, the work triggered some other pieces of work, in particular:

  • Deparse.pm was wildly under-tested; it now has some basic tests of all keywords with (where appropriate) various permutation of args.
  • Added a new facility to B.pm that allows you to create an "overlay" view of an optree. Deparse now uses this to 'undo' the padrange optimisation, allowing it to pretend the optimisation never happened. This means that the changes required to Deparse to support PADRANGE are just a few lines during an initial treewalk, rather than potentially hundreds of changes scattered all around the code, with the possibility that something's been missed.

In particular, the entirety of the code that had to be added to Deparse.pm to support the new PADRANGE op is:

        if ($ppname eq "padrange") {
            $B::overlay->{$$op} = {
                    name => 'pushmark',
                    private => ($op->private & OPpLVAL_INTRO),
                    next    => $op->sibling,
            };
        }
  • Did some heavy reworking of the B::*OP methods within B.xs to make the code more maintainable and to restore compatibility with 5.16.x.

Over the last month I have averaged 24 hours per week

As of 2012/10/31: since the beginning of the grant:

138.4 weeks
1551.6 total hours
11.2 average hours per week

There are 148 hours left on the grant.

Report for period 2012/10/01 to 2012/10/31 inclusive

Summary

Effort (HH::MM):

0:00 diagnosing bugs
108:35 fixing bugs
0:00 reviewing other people's bug fixes
0:00 reviewing ticket histories
0:00 review the ticket queue (triage)
-----
108:35 Total

Numbers of tickets closed:

1 tickets closed that have been worked on
0 tickets closed related to bugs that have been fixed
0 tickets closed that were reviewed but not worked on (triage)
-----
1 Total

Short Detail

104:05 [perl #114536] Optimize assigning to scalars from @_
4:30 [perl #115332] fold_array overflow in regmatch

Leave a comment

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Entry

This page contains a single entry by Karen published on November 26, 2012 1:11 PM.

Adding tests to and refactoring the perl debugger - Grant Report #5 was the previous entry in this blog.

Alien::Base Grant - Report #7 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.38