[pypy-commit] pypy gc-incminimark-pinning-improve: use pinning for input buffers in bz2
groggi
noreply at buildbot.pypy.org
Mon Mar 23 16:27:31 CET 2015
Author: Gregor Wegberg <code at gregorwegberg.com>
Branch: gc-incminimark-pinning-improve
Changeset: r76534:a95dcace656d
Date: 2015-03-23 16:25 +0100
http://bitbucket.org/pypy/pypy/changeset/a95dcace656d/
Log: use pinning for input buffers in bz2
diff --git a/pypy/module/bz2/interp_bz2.py b/pypy/module/bz2/interp_bz2.py
--- a/pypy/module/bz2/interp_bz2.py
+++ b/pypy/module/bz2/interp_bz2.py
@@ -562,10 +562,7 @@
in_bufsize = datasize
with OutBuffer(self.bzs) as out:
- with lltype.scoped_alloc(rffi.CCHARP.TO, in_bufsize) as in_buf:
-
- for i in range(datasize):
- in_buf[i] = data[i]
+ with rffi.scoped_nonmovingbuffer(data) as in_buf:
self.bzs.c_next_in = in_buf
rffi.setintfield(self.bzs, 'c_avail_in', in_bufsize)
@@ -663,9 +660,7 @@
in_bufsize = len(data)
- with lltype.scoped_alloc(rffi.CCHARP.TO, in_bufsize) as in_buf:
- for i in range(in_bufsize):
- in_buf[i] = data[i]
+ with rffi.scoped_nonmovingbuffer(data) as in_buf:
self.bzs.c_next_in = in_buf
rffi.setintfield(self.bzs, 'c_avail_in', in_bufsize)
@@ -716,9 +711,7 @@
with lltype.scoped_alloc(bz_stream.TO, zero=True) as bzs:
in_bufsize = len(data)
- with lltype.scoped_alloc(rffi.CCHARP.TO, in_bufsize) as in_buf:
- for i in range(in_bufsize):
- in_buf[i] = data[i]
+ with rffi.scoped_nonmovingbuffer(data) as in_buf:
bzs.c_next_in = in_buf
rffi.setintfield(bzs, 'c_avail_in', in_bufsize)
@@ -758,9 +751,7 @@
return space.wrap("")
with lltype.scoped_alloc(bz_stream.TO, zero=True) as bzs:
- with lltype.scoped_alloc(rffi.CCHARP.TO, in_bufsize) as in_buf:
- for i in range(in_bufsize):
- in_buf[i] = data[i]
+ with rffi.scoped_nonmovingbuffer(data) as in_buf:
bzs.c_next_in = in_buf
rffi.setintfield(bzs, 'c_avail_in', in_bufsize)
More information about the pypy-commit
mailing list