Wed, 05-Jun-2019 by Matthias Bloch edit post
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
$a[0][0][0][0]..
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.
SUMMARY:
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
The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.