+1! Thanks, Dave. :) On 08/07/2017 12:19 PM, Dave Mitchell wrote: > This report covers June up to the 19th, at which point my grant ran out. > (I'm currently waiting on extension approval, but am doing work funded by > Booking.com the meantime). > > I spent June mainly: > > * finishing off the heavy reworking of perl's internal sprintf implementation. > This has now been merged into blead. It contains about 100 commits which > fixes bugs, audits the code for possible integer overflows, makes the > code simpler - and simpler to understand - and improves performance by > around 15%. > > * adding a proper test suite for Porting/bench.pl, and fixing the utility > up based on the test results. For example at some point the > --bisect option broke, but this was never noticed due to no testing. > > * adding a DEBUGGING-build mechanism to detect some classes of > bug where pp functions fail to extend the stack before pushing return > values. Basically the runops loop sets a high water mark variable before > calling the pp function; EXTEND() and similar update that mark, and on > return from the pp function, we check whether PL_stack_sp is > the mark > and panic if so. This has allowed me to detect and fix several such bugs > in core. > > Other than that I worked on a few miscellaneous RT tickets. > > SUMMARY: > 15:41 RT #131260 sprintf implementation > 0:37 RT #131555 heap-buffer-overflow > 1:57 RT #131575 s// on utf8 string occasionally crashes > 0:51 RT #131577 heap-use-after-free (READ of size 1) in S_reghop4() > 21:25 add better tests for Porting/bench.pl > 4:21 apply accumulated post-5.26 fixes > 4:29 fix 32-bit builds > 14:17 fix stack extend overruns > 4:23 process p5p mailbox > 2:00 sort out 5.27.1 version numbers > 1:04 update perldelta > ------ > 71:05 TOTAL (HH::MM) > > 199.1 weeks > 2800.0 total hours > 14.1 average hours per week > >Thread Previous