File: whatsnew-pypy2-5.4.0.rst

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (169 lines) | stat: -rw-r--r-- 5,286 bytes parent folder | download | duplicates (2)
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
=========================
What's new in PyPy2.7 5.4
=========================

.. this is a revision shortly after release-pypy2.7-v5.3
.. startrev: 873218a739f1

.. 418b05f95db5

Improve CPython compatibility for ``is``. Now code like ``if x is ():``
works the same way as it does on CPython.  See http://pypy.readthedocs.io/en/latest/cpython_differences.html#object-identity-of-primitive-values-is-and-id .

.. pull request #455

Add sys.{get,set}dlopenflags, for cpyext extensions.

.. branch: fix-gen-dfa

Resolves an issue with the generator script to build the dfa for Python syntax.

.. branch: z196-support

Fixes a critical issue in the register allocator and extends support on s390x.
PyPy runs and translates on the s390x revisions z10 (released February 2008, experimental)
and z196 (released August 2010) in addition to zEC12 and z13.
To target e.g. z196 on a zEC12 machine supply CFLAGS="-march=z196" to your shell environment.

.. branch: s390x-5.3-catchup

Implement the backend related changes for s390x.

.. branch: incminimark-ll_assert
.. branch: vmprof-openbsd

.. branch: testing-cleanup

Simplify handling of interp-level tests and make it more forward-
compatible.

.. branch: pyfile-tell

Sync w_file with the c-level FILE* before returning FILE* in PyFile_AsFile

.. branch: rw-PyString_AS_STRING

Allow rw access to the char* returned from PyString_AS_STRING, also refactor
PyStringObject to look like cpython's and allow subclassing PyString_Type and
PyUnicode_Type

.. branch: save_socket_errno

Bug fix: if ``socket.socket()`` failed, the ``socket.error`` did not show
the errno of the failing system call, but instead some random previous
errno.

.. branch: PyTuple_Type-subclass

Refactor PyTupleObject to look like cpython's and allow subclassing 
PyTuple_Type

.. branch: call-via-pyobj

Use offsets from PyTypeObject to find actual c function to call rather than
fixed functions, allows function override after PyType_Ready is called

.. branch: issue2335

Avoid exhausting the stack in the JIT due to successive guard
failures in the same Python function ending up as successive levels of
RPython functions, while at app-level the traceback is very short

.. branch: use-madv-free

Try harder to memory to the OS.  See e.g. issue #2336.  Note that it does
not show up as a reduction of the VIRT column in ``top``, and the RES
column might also not show the reduction, particularly on Linux >= 4.5 or
on OS/X: it uses MADV_FREE, which only marks the pages as returnable to
the OS if the memory is low.

.. branch: cpyext-slotdefs2

Fill in more slots when creating a PyTypeObject from a W_TypeObject
More slots are still TBD, like tp_print and richcmp

.. branch: json-surrogates

Align json module decode with the cpython's impl, fixes issue 2345

.. branch: issue2343

Copy CPython's logic more closely for handling of ``__instancecheck__()``
and ``__subclasscheck__()``.  Fixes issue 2343.

.. branch: msvcrt-cffi

Rewrite the Win32 dependencies of 'subprocess' to use cffi instead
of ctypes. This avoids importing ctypes in many small programs and
scripts, which in turn avoids enabling threads (because ctypes
creates callbacks at import time, and callbacks need threads).

.. branch: new-jit-log

The new logging facility that integrates with and adds features to vmprof.com.

.. branch: jitlog-32bit

Resolve issues to use the new logging facility on a 32bit system

.. branch: ep2016sprint

Trying harder to make hash(-1) return -2, like it does on CPython

.. branch: jitlog-exact-source-lines

Log exact line positions in debug merge points.

.. branch: null_byte_after_str

Allocate all RPython strings with one extra byte, normally unused.
It is used to hold a final zero in case we need some ``char *``
representation of the string, together with checks like ``not
can_move()`` or object pinning. Main new thing that this allows:
``ffi.from_buffer(string)`` in CFFI.  Additionally, and most
importantly, CFFI calls that take directly a string as argument don't
copy the string any more---this is like CFFI on CPython.

.. branch: resource_warning

Add a new command line option -X track-resources which will produce
ResourceWarnings when the GC closes unclosed files and sockets.

.. branch: cpyext-realloc

Implement PyObject_Realloc

.. branch: inline-blocks

Improve a little bit the readability of the generated C code

.. branch: improve-vmprof-testing

Improved vmprof support: now tries hard to not miss any Python-level
frame in the captured stacks, even if there is the metainterp or
blackhole interp involved.  Also fix the stacklet (greenlet) support.

.. branch: py2-mappingproxy

``type.__dict__`` now returns a ``dict_proxy`` object, like on CPython.
Previously it returned what looked like a regular dict object (but it
was already read-only).


.. branch: const-fold-we-are-jitted

Reduce the size of the generated C code by constant-folding ``we_are_jitted``
in non-jitcode.

.. branch: memoryview-attributes

Support for memoryview attributes (format, itemsize, ...).
Extends the cpyext emulation layer.

.. branch: redirect-assembler-jitlog

Log more information to properly rebuild the redirected traces in jitviewer.

.. branch: cpyext-subclass

Copy Py_TPFLAGS_CHECKTYPES, Py_TPFLAGS_HAVE_INPLACEOPS when inheriting