[pypy-svn] r77194 - pypy/trunk/pypy/rpython/lltypesystem
arigo at codespeak.net
arigo at codespeak.net
Mon Sep 20 11:25:56 CEST 2010
Author: arigo
Date: Mon Sep 20 11:25:55 2010
New Revision: 77194
Modified:
pypy/trunk/pypy/rpython/lltypesystem/llarena.py
Log:
A quick hack that is enough to handle changing hashes in my
particular case (test_transformed_gc, TestMiniMarkGC).
Modified: pypy/trunk/pypy/rpython/lltypesystem/llarena.py
==============================================================================
--- pypy/trunk/pypy/rpython/lltypesystem/llarena.py (original)
+++ pypy/trunk/pypy/rpython/lltypesystem/llarena.py Mon Sep 20 11:25:55 2010
@@ -46,7 +46,7 @@
assert offset >= stop, "object overlaps cleared area"
else:
obj = ptr._obj
- del Arena.object_arena_location[obj]
+ _dictdel(Arena.object_arena_location, obj)
del self.objectptrs[offset]
del self.objectsizes[offset]
obj._free()
@@ -258,6 +258,16 @@
raise RuntimeError(msg % (obj,))
return arena.getaddr(offset)
+def _dictdel(d, key):
+ # hack
+ try:
+ del d[key]
+ except KeyError:
+ items = d.items()
+ d.clear()
+ d.update(items)
+ del d[key]
+
class RoundedUpForAllocation(llmemory.AddressOffset):
"""A size that is rounded up in order to preserve alignment of objects
following it. For arenas containing heterogenous objects.
More information about the Pypy-commit
mailing list