Author: Armin Rigo <ar...@tunes.org> Branch: stringbuilder-perf Changeset: r72034:df22a674b249 Date: 2014-06-12 14:11 +0200 http://bitbucket.org/pypy/pypy/changeset/df22a674b249/
Log: More tweaks diff --git a/rpython/rtyper/lltypesystem/rbuilder.py b/rpython/rtyper/lltypesystem/rbuilder.py --- a/rpython/rtyper/lltypesystem/rbuilder.py +++ b/rpython/rtyper/lltypesystem/rbuilder.py @@ -54,19 +54,15 @@ @enforceargs(None, int) def stringbuilder_grow(ll_builder, needed): + charsize = ll_builder.charsize try: needed = ovfcheck(needed + ll_builder.total_size) + needed = ovfcheck(needed + 63) & ~63 + needed_chars = ovfcheck(needed * charsize) except OverflowError: raise MemoryError - needed += 63 - needed &= ~63 # new_piece = lltype.malloc(STRINGPIECE) - charsize = ll_builder.charsize - try: - needed_chars = needed * charsize - except OverflowError: - raise MemoryError new_piece.piece_lgt = needed_chars raw_ptr = lltype.malloc(rffi.CCHARP.TO, needed_chars, flavor='raw') new_piece.raw_ptr = raw_ptr _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit