[pypy-commit] pypy default: Add support for track_allocation=False (the default is True).
arigo
noreply at buildbot.pypy.org
Wed Nov 30 19:37:31 CET 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r50025:153c1281e1cb
Date: 2011-11-30 19:38 +0100
http://bitbucket.org/pypy/pypy/changeset/153c1281e1cb/
Log: Add support for track_allocation=False (the default is True). We
can't add many more flags while keeping the same style...
diff --git a/pypy/jit/codewriter/jtransform.py b/pypy/jit/codewriter/jtransform.py
--- a/pypy/jit/codewriter/jtransform.py
+++ b/pypy/jit/codewriter/jtransform.py
@@ -487,6 +487,7 @@
d.pop('flavor')
add_memory_pressure = d.pop('add_memory_pressure', False)
zero = d.pop('zero', False)
+ track_allocation = d.pop('track_allocation', True)
if d:
raise UnsupportedMallocFlags(d)
ARRAY = op.args[0].value
@@ -495,6 +496,8 @@
name += '_zero'
if add_memory_pressure:
name += '_add_memory_pressure'
+ if not track_allocation:
+ name += '_no_track_allocation'
return self._do_builtin_call(op, name,
[op.args[2]],
extra = (ARRAY,),
diff --git a/pypy/jit/codewriter/support.py b/pypy/jit/codewriter/support.py
--- a/pypy/jit/codewriter/support.py
+++ b/pypy/jit/codewriter/support.py
@@ -621,6 +621,32 @@
add_memory_pressure=True)
return _ll_1_raw_malloc
+ def build_ll_1_raw_malloc_no_track_allocation(ARRAY):
+ def _ll_1_raw_malloc(n):
+ return lltype.malloc(ARRAY, n, flavor='raw',
+ track_allocation=False)
+ return _ll_1_raw_malloc
+
+ def build_ll_1_raw_malloc_zero_no_track_allocation(ARRAY):
+ def _ll_1_raw_malloc(n):
+ return lltype.malloc(ARRAY, n, flavor='raw', zero=True,
+ track_allocation=False)
+ return _ll_1_raw_malloc
+
+ def build_ll_1_raw_malloc_zero_add_memory_pressure_no_track_allocation(ARRAY):
+ def _ll_1_raw_malloc(n):
+ return lltype.malloc(ARRAY, n, flavor='raw', zero=True,
+ add_memory_pressure=True,
+ track_allocation=False)
+ return _ll_1_raw_malloc
+
+ def build_ll_1_raw_malloc_add_memory_pressure_no_track_allocation(ARRAY):
+ def _ll_1_raw_malloc(n):
+ return lltype.malloc(ARRAY, n, flavor='raw',
+ add_memory_pressure=True,
+ track_allocation=False)
+ return _ll_1_raw_malloc
+
def build_ll_1_raw_free(ARRAY):
def _ll_1_raw_free(p):
lltype.free(p, flavor='raw')
More information about the pypy-commit
mailing list