Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit