1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
=========================
What's new in PyPy2.7 5.6
=========================
.. this is a revision shortly after release-pypy2.7-v5.4
.. startrev: 522736f816dc
.. branch: mappingproxy
.. branch: py3k-finish_time
.. branch: py3k-kwonly-builtin
.. branch: py3k_add_terminal_size
.. branch: testing-cleanup-py3k
.. branch: rpython-resync
Backport rpython changes made directly on the py3k and py3.5 branches.
.. branch: buffer-interface
Implement PyObject_GetBuffer, PyMemoryView_GET_BUFFER, and handles memoryviews
in numpypy
.. branch: force-virtual-state
Improve merging of virtual states in the JIT in order to avoid jumping to the
preamble. Accomplished by allocating virtual objects where non-virtuals are
expected.
.. branch: conditional_call_value_3
JIT residual calls: if the called function starts with a fast-path
like "if x.foo != 0: return x.foo", then inline the check before
doing the CALL. For now, string hashing is about the only case.
.. branch: search-path-from-libpypy
The compiled pypy now looks for its lib-python/lib_pypy path starting
from the location of the *libpypy-c* instead of the executable. This is
arguably more consistent, and also it is what occurs anyway if you're
embedding pypy. Linux distribution packagers, take note! At a minimum,
the ``libpypy-c.so`` must really be inside the path containing
``lib-python`` and ``lib_pypy``. Of course, you can put a symlink to it
from somewhere else. You no longer have to do the same with the
``pypy`` executable, as long as it finds its ``libpypy-c.so`` library.
.. branch: _warnings
CPython allows warning.warn(('something', 1), Warning), on PyPy this
produced a "expected a readable buffer object" error. Test and fix.
.. branch: stricter-strip
CPython rejects 'a'.strip(buffer(' ')); only None, str or unicode are
allowed as arguments. Test and fix for str and unicode
.. branch: faulthandler
Port the 'faulthandler' module to PyPy default. This module is standard
in Python 3.3 but can also be installed from CPython >= 2.6 from PyPI.
.. branch: test-cpyext
Refactor cpyext testing to be more pypy3-friendly.
.. branch: better-error-missing-self
Improve the error message when the user forgot the "self" argument of a method.
.. fb6bb835369e
Change the ``timeit`` module: it now prints the average time and the standard
deviation over 7 runs by default, instead of the minimum. The minimum is often
misleading.
.. branch: unrecursive-opt
Make optimiseopt iterative instead of recursive so it can be reasoned about
more easily and debugging is faster.
.. branch: Tiberiumk/fix-2412-1476011166874
.. branch: redirect-assembler-jitlog
.. branch: stdlib-2.7.12
Update stdlib to version 2.7.12
.. branch: buffer-interface2
Improve support for new buffer interface in cpyext, bf_getbuffer on built-in
types still missing
.. branch: fix-struct-unpack-Q
Improve compatibility with CPython in the ``struct`` module. In particular,
``struct.unpack`` now returns an ``int`` whenever the returned value fits,
while previously it always returned a ``long`` for certains format codes such
as ``Q`` (and also ``I``, ``L`` and ``q`` on 32 bit)
.. branch: zarch-simd-support
s390x implementation for vector operations used in VecOpt
.. branch: ppc-vsx-support
PowerPC implementation for vector operations used in VecOpt
.. branch: newinitwarn
Match CPython's stricter handling of ``__new__``/``__init__`` arguments
.. branch: openssl-1.1
Support for OpenSSL version 1.1 (in addition to version 1.0).
Tested on Linux (1.1, 1.0), on Win32, and Mac (1.0 only)
|