Author: Armin Rigo <[email protected]>
Branch:
Changeset: r90616:d920a7a7a107
Date: 2017-03-10 08:34 +0100
http://bitbucket.org/pypy/pypy/changeset/d920a7a7a107/
Log: cffi issue: unsure why, but ffi.new() didn't invoke
add_memory_pressure.
diff --git a/pypy/module/_cffi_backend/allocator.py
b/pypy/module/_cffi_backend/allocator.py
--- a/pypy/module/_cffi_backend/allocator.py
+++ b/pypy/module/_cffi_backend/allocator.py
@@ -4,6 +4,7 @@
from pypy.interpreter.gateway import interp2app, unwrap_spec, WrappedDefault
from rpython.rtyper.lltypesystem import lltype, rffi
+from rpython.rlib import rgc
class W_Allocator(W_Root):
@@ -20,10 +21,12 @@
if self.w_alloc is None:
if self.should_clear_after_alloc:
ptr = lltype.malloc(rffi.CCHARP.TO, datasize,
- flavor='raw', zero=True)
+ flavor='raw', zero=True,
+ add_memory_pressure=True)
else:
ptr = lltype.malloc(rffi.CCHARP.TO, datasize,
- flavor='raw', zero=False)
+ flavor='raw', zero=False,
+ add_memory_pressure=True)
return cdataobj.W_CDataNewStd(space, ptr, ctype, length)
else:
w_raw_cdata = space.call_function(self.w_alloc,
@@ -50,6 +53,7 @@
if self.w_free is not None:
res.w_free = self.w_free
res.register_finalizer(space)
+ rgc.add_memory_pressure(datasize)
return res
@unwrap_spec(w_init=WrappedDefault(None))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit