Author: Antonio Cuni <anto.c...@gmail.com> Branch: faster-rstruct-2 Changeset: r91323:1d430f535203 Date: 2017-05-17 17:47 +0200 http://bitbucket.org/pypy/pypy/changeset/1d430f535203/
Log: fix test_pack_into_bytearray_delete diff --git a/pypy/objspace/std/bytearrayobject.py b/pypy/objspace/std/bytearrayobject.py --- a/pypy/objspace/std/bytearrayobject.py +++ b/pypy/objspace/std/bytearrayobject.py @@ -1308,6 +1308,9 @@ def _get_gc_data_offset(): return get_gc_data_offset_for_list_of_chars() + def _get_gc_data_extra_offset(self): + return self.ba._offset + def _get_gc_data(self): return get_gc_data_for_list_of_chars(self.ba._data) diff --git a/rpython/rlib/buffer.py b/rpython/rlib/buffer.py --- a/rpython/rlib/buffer.py +++ b/rpython/rlib/buffer.py @@ -159,6 +159,7 @@ @specialize.ll_and_arg(1) def typed_read(self, TP, byte_offset): lldata = self._get_gc_data() + byte_offset += self._get_gc_data_extra_offset() return llop.gc_load_indexed(TP, lldata, byte_offset, scale_factor, base_ofs) @@ -167,6 +168,7 @@ if self.readonly: raise CannotWrite lldata = self._get_gc_data() + byte_offset += self._get_gc_data_extra_offset() value = lltype.cast_primitive(TP, value) return llop.gc_store_indexed(lltype.Void, lldata, byte_offset, value, scale_factor, base_ofs) @@ -179,6 +181,9 @@ def _get_gc_data_offset(self): raise NotImplementedError + def _get_gc_data_extra_offset(self): + return 0 + def _get_gc_data(self): raise NotImplementedError _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit