Author: Carl Friedrich Bolz-Tereick <[email protected]>
Branch: py3.6
Changeset: r97453:6e81e44fab5b
Date: 2019-09-11 23:18 +0200
http://bitbucket.org/pypy/pypy/changeset/6e81e44fab5b/
Log: merge default
diff --git a/pypy/module/_codecs/interp_codecs.py
b/pypy/module/_codecs/interp_codecs.py
--- a/pypy/module/_codecs/interp_codecs.py
+++ b/pypy/module/_codecs/interp_codecs.py
@@ -715,6 +715,8 @@
@unwrap_spec(errors='text_or_none')
def utf_8_encode(space, w_obj, errors="strict"):
utf8, lgt = space.utf8_len_w(w_obj)
+ if lgt == len(utf8): # ascii
+ return space.newtuple([space.newbytes(utf8), space.newint(lgt)])
if errors is None:
errors = 'strict'
state = space.fromcache(CodecState)
diff --git a/pypy/module/_io/interp_iobase.py b/pypy/module/_io/interp_iobase.py
--- a/pypy/module/_io/interp_iobase.py
+++ b/pypy/module/_io/interp_iobase.py
@@ -56,7 +56,7 @@
# `__IOBase_closed` and call flush() by itself, but it is redundant
# with whatever behaviour a non-trivial derived class will implement.
self.space = space
- self.w_dict = space.newdict()
+ self.w_dict = space.newdict(instance=True)
self.__IOBase_closed = False
if add_to_autoflusher:
get_autoflusher(space).add(self)
diff --git a/pypy/module/_io/interp_textio.py b/pypy/module/_io/interp_textio.py
--- a/pypy/module/_io/interp_textio.py
+++ b/pypy/module/_io/interp_textio.py
@@ -928,9 +928,13 @@
return space.newint(textlen)
def _writeflush(self, space):
+ # jit inlinable fast path
if not self.pending_bytes:
return
+ self._really_flush(space)
+
+ def _really_flush(self, space):
pending_bytes = ''.join(self.pending_bytes)
self.pending_bytes = None
self.pending_bytes_count = 0
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit