[pypy-commit] pypy default: In the memmgr, free loops that have been marked as 'invalidated' too.
arigo
noreply at buildbot.pypy.org
Mon Oct 17 15:41:32 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r48123:1d42dc6c3971
Date: 2011-10-17 15:41 +0200
http://bitbucket.org/pypy/pypy/changeset/1d42dc6c3971/
Log: In the memmgr, free loops that have been marked as 'invalidated'
too.
diff --git a/pypy/jit/metainterp/memmgr.py b/pypy/jit/metainterp/memmgr.py
--- a/pypy/jit/metainterp/memmgr.py
+++ b/pypy/jit/metainterp/memmgr.py
@@ -68,7 +68,8 @@
debug_print("Loop tokens before:", oldtotal)
max_generation = self.current_generation - (self.max_age-1)
for looptoken in self.alive_loops.keys():
- if 0 <= looptoken.generation < max_generation:
+ if (0 <= looptoken.generation < max_generation or
+ looptoken.invalidated):
del self.alive_loops[looptoken]
newtotal = len(self.alive_loops)
debug_print("Loop tokens freed: ", oldtotal - newtotal)
diff --git a/pypy/jit/metainterp/test/test_memmgr.py b/pypy/jit/metainterp/test/test_memmgr.py
--- a/pypy/jit/metainterp/test/test_memmgr.py
+++ b/pypy/jit/metainterp/test/test_memmgr.py
@@ -18,6 +18,7 @@
class FakeLoopToken:
generation = 0
+ invalidated = False
class _TestMemoryManager:
More information about the pypy-commit
mailing list