[pypy-commit] pypy strbuf-as-buffer: get_raw_address added to two Buffer sub classes
plan_rich
pypy.commits at gmail.com
Thu Dec 8 10:05:46 EST 2016
Author: Richard Plangger <planrichi at gmail.com>
Branch: strbuf-as-buffer
Changeset: r88976:41e417a2b7ba
Date: 2016-12-08 16:05 +0100
http://bitbucket.org/pypy/pypy/changeset/41e417a2b7ba/
Log: get_raw_address added to two Buffer sub classes
diff --git a/pypy/module/__pypy__/bytebuffer.py b/pypy/module/__pypy__/bytebuffer.py
--- a/pypy/module/__pypy__/bytebuffer.py
+++ b/pypy/module/__pypy__/bytebuffer.py
@@ -4,6 +4,7 @@
from rpython.rlib.buffer import Buffer
from pypy.interpreter.gateway import unwrap_spec
+from rpython.rlib.rgc import nonmoving_raw_ptr_for_resizable_list
class ByteBuffer(Buffer):
@@ -22,6 +23,8 @@
def setitem(self, index, char):
self.data[index] = char
+ def get_raw_address(self):
+ return nonmoving_raw_ptr_for_resizable_list(self.data)
@unwrap_spec(length=int)
def bytebuffer(space, length):
diff --git a/pypy/module/_io/interp_bufferedio.py b/pypy/module/_io/interp_bufferedio.py
--- a/pypy/module/_io/interp_bufferedio.py
+++ b/pypy/module/_io/interp_bufferedio.py
@@ -4,6 +4,7 @@
from pypy.interpreter.typedef import (
TypeDef, GetSetProperty, generic_new_descr, interp_attrproperty_w)
from pypy.interpreter.gateway import interp2app, unwrap_spec, WrappedDefault
+from rpython.rlib.rgc import nonmoving_raw_ptr_for_resizable_list
from rpython.rlib.buffer import Buffer
from rpython.rlib.rstring import StringBuilder
from rpython.rlib.rarithmetic import r_longlong, intmask
@@ -120,6 +121,9 @@
def setitem(self, index, char):
self.buf[self.start + index] = char
+ def get_raw_address(self):
+ return nonmoving_raw_ptr_for_resizable_list(self.buf)
+
class BufferedMixin:
_mixin_ = True
More information about the pypy-commit
mailing list