[pypy-svn] r77992 - pypy/branch/leak-finder/pypy/rpython/memory/gc
arigo at codespeak.net
arigo at codespeak.net
Fri Oct 15 16:25:29 CEST 2010
Author: arigo
Date: Fri Oct 15 16:25:27 2010
New Revision: 77992
Modified:
pypy/branch/leak-finder/pypy/rpython/memory/gc/minimarkpage.py
Log:
Add track_allocation=False to the arenas; reporting them at process shutdown is unhelpful.
Modified: pypy/branch/leak-finder/pypy/rpython/memory/gc/minimarkpage.py
==============================================================================
--- pypy/branch/leak-finder/pypy/rpython/memory/gc/minimarkpage.py (original)
+++ pypy/branch/leak-finder/pypy/rpython/memory/gc/minimarkpage.py Fri Oct 15 16:25:27 2010
@@ -100,11 +100,14 @@
# allocation of the given size.
length = small_request_threshold / WORD + 1
self.page_for_size = lltype.malloc(rffi.CArray(PAGE_PTR), length,
- flavor='raw', zero=True)
+ flavor='raw', zero=True,
+ immortal=True)
self.full_page_for_size = lltype.malloc(rffi.CArray(PAGE_PTR), length,
- flavor='raw', zero=True)
+ flavor='raw', zero=True,
+ immortal=True)
self.nblocks_for_size = lltype.malloc(rffi.CArray(lltype.Signed),
- length, flavor='raw')
+ length, flavor='raw',
+ immortal=True)
self.hdrsize = llmemory.raw_malloc_usage(llmemory.sizeof(PAGE_HEADER))
assert page_size > self.hdrsize
self.nblocks_for_size[0] = 0 # unused
@@ -114,11 +117,13 @@
self.max_pages_per_arena = arena_size // page_size
self.arenas_lists = lltype.malloc(rffi.CArray(ARENA_PTR),
self.max_pages_per_arena,
- flavor='raw', zero=True)
+ flavor='raw', zero=True,
+ immortal=True)
# this is used in mass_free() only
self.old_arenas_lists = lltype.malloc(rffi.CArray(ARENA_PTR),
self.max_pages_per_arena,
- flavor='raw', zero=True)
+ flavor='raw', zero=True,
+ immortal=True)
#
# the arena currently consumed; it must have at least one page
# available, or be NULL. The arena object that we point to is
@@ -281,7 +286,7 @@
npages = (arena_end - firstpage) // self.page_size
#
# Allocate an ARENA object and initialize it
- arena = lltype.malloc(ARENA, flavor='raw')
+ arena = lltype.malloc(ARENA, flavor='raw', track_allocation=False)
arena.base = arena_base
arena.nfreepages = 0 # they are all uninitialized pages
arena.totalpages = npages
@@ -332,7 +337,7 @@
#
# The whole arena is empty. Free it.
llarena.arena_free(arena.base)
- lltype.free(arena, flavor='raw')
+ lltype.free(arena, flavor='raw', track_allocation=False)
#
else:
# Insert 'arena' in the correct arenas_lists[n]
More information about the Pypy-commit
mailing list