Hi all,

We are preparing for the next release of PyPy.

A branch was already created
http://codespeak.net/svn/pypy/release/1.4.x, twice, but it may get
thrown away and re-created again.  I have 3 things that I would like
to fix before the release:

1. Mac OS/X 64.  We have there an issue with asmgcc not finding the gc roots.

2. Try to understand if there is a leak in pypy-c-jit or not.  The
issue is that it consumes quite a lot of memory and fijal could not,
so far, really figure out where it comes from.

3. Optionally, depending on 2, implement freeing old JIT-generated
assembler and supporting objects.

For 3, I have in mind the following lightweight plan: put an "age"
counter on each TreeLoop object, reset it to zero whenever we run the
corresponding code, and create an extension of the asmgcc root finder
that also resets to zero the counter of loops found in the stack.
After every GC collection we increment the age counter.  This should
ensure that the age of any live loop never goes past 1; on the other
hand, loops whose age reach some limit (like 20 or so) have not been
run for a long time, and are freed.  If we do it right it would free
all supporting data structures, and with a __del__ somewhere we could
also free the assembler itself (which may only account for 25% of ram
usage).


A bientôt,

Armin.
_______________________________________________
pypy-dev@codespeak.net
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to