[pypy-commit] pypy lightweight-finalizers: rewrite obvious nonsense, needs tests
fijal
noreply at buildbot.pypy.org
Mon Oct 24 20:19:23 CEST 2011
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: lightweight-finalizers
Changeset: r48386:6949b37f7cb8
Date: 2011-10-24 16:33 +0200
http://bitbucket.org/pypy/pypy/changeset/6949b37f7cb8/
Log: rewrite obvious nonsense, needs tests
diff --git a/pypy/rpython/memory/gc/minimark.py b/pypy/rpython/memory/gc/minimark.py
--- a/pypy/rpython/memory/gc/minimark.py
+++ b/pypy/rpython/memory/gc/minimark.py
@@ -1845,16 +1845,12 @@
don't do anything fancy and *just* call them. Among other things
they won't resurrect objects
"""
- new_objects = self.AddressStack()
while self.young_objects_with_light_finalizers.non_empty():
obj = self.young_objects_with_light_finalizers.pop()
- if self.is_forwarded(obj):
- new_objects.append(self.get_forwarding_address(obj))
- else:
+ if not self.is_forwarded(obj):
finalizer = self.getlightfinalizer(self.get_type_id(obj))
ll_assert(bool(finalizer), "no light finalizer found")
finalizer(obj, llmemory.NULL)
- self.objects_with_light_finalizers = new_objects
def deal_with_objects_with_finalizers(self):
# Walk over list of objects with finalizers.
More information about the pypy-commit
mailing list