Fixing Perl5 Core Bugs: Report for Month 32
Mon, 26-Nov-2012 by
Karen Pauley
edit post
_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:
bc. 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:
bq. 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):
bq. 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:**
bq. 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**
bq. 104:05 [perl #114536] Optimize assigning to scalars from @_
4:30 [perl #115332] fold_array overflow in regmatch
Category:
(none)
Comments (0)