Maintaining the Perl 5 Core (Dave Mitchell): Grant Report for May 2019

This is a monthly report by Dave Mitchell on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

The main thing I have been doing over the last month is to make the
optree-walking functions in op.c  non-recursive and/or non-leaky.

In auto-generated code, such as


and things involving arbitrary-deep nesting of braces and parentheses,
it's easy during compilation to create a deep optree. Many functions in
op.c walk those trees using recursion, which can blow the stack and cause
a crash. This is especially noticeable under threads, where each thread by
default only gets a relatively small stack.

Some functions were modified to malloc() a buffer to keep track, but that
could leak if the compiler croaked during tree traversal.

      1:00 fix 32-bit builds
     26:55 make optree functions in op.c non-recursive and/or non-leaky.
     27:55 TOTAL (HH::MM)

 293.7 weeks
3338.1 total hours
  11.4 average hours per week

There are 128 hours left on the grant

About TPF

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

About this Entry

This page contains a single entry by Matthias Bloch published on June 5, 2019 2:33 PM.

Rakudo Perl 6 performance analysis tooling - Grant Report #10 was the previous entry in this blog.

Grant Report - MoarVM JIT Compiler Expression Backend - May 2019 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 6.2.2