Matti Picus pushed to branch branch/py3.10 at PyPy / pypy


Commits:
3d4a0029 by Carl Friedrich Bolz-Tereick at 2022-04-25T19:16:54+02:00
a branch to experiment using GCREFs to do type erasure using GCREFs (instead of
the base instance struct, which excludes erasing things like strs and lists of
lists)

--HG--
branch : gcref-based-type-erasure

- - - - -
6f164215 by Carl Friedrich Bolz-Tereick at 2022-04-25T19:18:15+02:00
cache on the rtyper, not globally

--HG--
branch : gcref-based-type-erasure

- - - - -
2a6f7de3 by Carl Friedrich Bolz-Tereick at 2022-04-25T20:30:38+02:00
- make gcref erasure opt in, and use it only for lists for now
- fix dict.items problems

--HG--
branch : gcref-based-type-erasure

- - - - -
474e07d4 by Carl Friedrich Bolz-Tereick at 2022-04-25T20:31:02+02:00
not everything has an ll_str method

--HG--
branch : gcref-based-type-erasure

- - - - -
16c93bcc by Carl Friedrich Bolz-Tereick at 2022-04-25T21:48:18+02:00
fix str/unicode split, rsplit, splitlines

--HG--
branch : gcref-based-type-erasure

- - - - -
a77edf14 by Carl Friedrich Bolz-Tereick at 2022-04-26T12:35:22+02:00
making the values gcrefs just works

--HG--
branch : gcref-based-type-erasure

- - - - -
1ddec8ed by Carl Friedrich Bolz-Tereick at 2022-04-26T15:54:53+02:00
support a dummy value for gcref

--HG--
branch : gcref-based-type-erasure

- - - - -
5a5030f1 by Carl Friedrich Bolz-Tereick at 2022-05-26T15:21:07+02:00
fix test on pypy

--HG--
branch : gcref-based-type-erasure

- - - - -
b9a4fb48 by Carl Friedrich Bolz-Tereick at 2022-05-26T21:38:11+02:00
don't use gcrefs when using refcounting, it can't work

--HG--
branch : gcref-based-type-erasure

- - - - -
24766744 by Carl Friedrich Bolz-Tereick at 2022-05-26T21:38:27+02:00
merge default

--HG--
branch : gcref-based-type-erasure

- - - - -
2c8582d3 by Carl Friedrich Bolz-Tereick at 2023-06-13T15:21:32+02:00
remove some old remnant

- - - - -
1561bf26 by Carl Friedrich Bolz-Tereick at 2023-06-13T18:09:05+02:00
do one less list copy for record_known_result and cond_call

- - - - -
60e0c97e by Carl Friedrich Bolz-Tereick at 2023-06-13T22:11:36+02:00
optimize the goto_if_not_*:

- don't call replace_box for fresh boxes that can't be stored anywhere 
yet
- make the "same box" shortcut faster

- - - - -
519f1f7e by Matti Picus at 2023-06-15T12:26:38+03:00
update release note

- - - - -
7b3db6f2 by Matti Picus at 2023-06-15T21:59:46+03:00
Added tag release-pypy2.7-v7.3.12 for changeset 8d509266596a

- - - - -
979b661c by Matti Picus at 2023-06-15T22:00:19+03:00
Added tag release-pypy3.9-v7.3.12 for changeset 3f3f2298ddc5

- - - - -
0e07b01f by Matti Picus at 2023-06-15T22:00:47+03:00
Added tag release-pypy3.10-v7.3.12 for changeset af44d0b8114c

- - - - -
0f2487ab by Matti Picus at 2023-06-16T08:24:08+03:00
finalize release

- - - - -
16d44faa by Carl Friedrich Bolz-Tereick at 2023-06-17T15:02:49+02:00
small quality-of-life improvement in C-level profilers etc: try to invent a
sensible name for the smallfuncset pbc dispatchers

- - - - -
9aed601f by Carl Friedrich Bolz-Tereick at 2023-06-17T16:38:18+02:00
merge heads

- - - - -
f8bda533 by Carl Friedrich Bolz-Tereick at 2023-06-17T17:03:04+02:00
merge default

--HG--
branch : gcref-based-type-erasure

- - - - -
2605b4ed by Matti Picus at 2023-06-19T12:25:29+03:00
add test for issue 3954, fixed in ae3a931895a8 for py3.10

--HG--
branch : py3.9

- - - - -
64577e1c by Carl Friedrich Bolz-Tereick at 2023-06-20T09:02:11+02:00
add and fix some tests

--HG--
branch : gcref-based-type-erasure

- - - - -
0d23e89e by Carl Friedrich Bolz-Tereick at 2023-06-22T13:53:08+02:00
fix this test, which starts failing because some other tests use the same
GcArray type to store pointers as l1, l2, l3

--HG--
branch : gcref-based-type-erasure

- - - - -
1e95e48d by Carl Friedrich Bolz-Tereick at 2023-06-22T19:07:16+02:00
make odict.items no longer a oopspec, it creates rtyping trouble and serves no
benefit

--HG--
branch : gcref-based-type-erasure

- - - - -
4bf369c3 by Carl Friedrich Bolz-Tereick at 2023-06-26T17:30:45+02:00
make some tagged int tests work

--HG--
branch : gcref-based-type-erasure

- - - - -
fa28c1d5 by Carl Friedrich Bolz-Tereick at 2023-06-26T19:54:07+02:00
merge gcref-based-type-erasure:

do type-erasure for rpython dicts and lists more generally, unifying all gced
pointer types into one implementation (as opposed to just unifying all
*instances* together, but not eg strings). This makes pypy-c ~700KiB smaller.

- - - - -
e9cf8a6e by Carl Friedrich Bolz-Tereick at 2023-06-26T19:56:35+02:00
merge default

--HG--
branch : py3.9

- - - - -
4b465116 by Carl Friedrich Bolz-Tereick at 2023-06-26T19:56:53+02:00
merge heads

--HG--
branch : py3.9

- - - - -
bb445849 by Carl Friedrich Bolz-Tereick at 2023-07-11T14:51:00+02:00
#3961: don't uselessly compile a regex for *every* parsed email message. the
pattern is anyway always the same, apart from a variable prefix. Instead, first
check the prefix with str.startswith, and only if that returns True, match the
rest of the regular expression.

--HG--
branch : py3.9

- - - - -
40e7b78d by Carl Friedrich Bolz-Tereick at 2023-07-12T09:58:38+02:00
#3961: precompile res in csv module

--HG--
branch : py3.9

- - - - -
f7461ab8 by Matti Picus at 2023-07-12T13:26:55+03:00
fix test when run untranslated on top of pypy2.7

--HG--
branch : py3.9

- - - - -
eaaa4dad by Rodrigo Tobar at 2023-06-30T15:00:02+08:00
Don't clear StopIteration exceptions on tp_iternext

Even though tp_iternext *can* return NULL without an exception being set, it
doesn't mean that it *has* to do it every time. In particular, coroutines 
convey
their return values via a StopIteration they raise during its last call to
next(), which is the only way C extensions can get access to them.

This commit removes the exception handling in the tp_iternext slot
implementation, letting it raise any exception it throws, including
StopIteration exceptions. A new test verifies that this is working as expected
by having a C extension exhaust a python-written coroutine, and verifying it
gets access to the coroutine's return value.

This addresses issue #3956.

--HG--
branch : py3.9

- - - - -
d9f4c269 by Matti Picus at 2023-06-30T16:53:28+03:00
use a different tp_internext wrapper for coroutines

--HG--
branch : py3.9

- - - - -
903225e6 by Rodrigo Tobar at 2023-07-05T21:11:04+08:00
Let tp_iternext raise StopIteration more selectively

First, we can deal with the situation of handling an exception or not from the
same wrapped function, using a variable to control whether StopIterations should
be raised or swallowed. Then, the value of such variable is calculated before
the wrapped function is created, and is calculated from a hardcoded list of
types that are known to raise StopIteration in their tp_iternext
implementations.

--HG--
branch : py3.9

- - - - -
d0b409d3 by Rodrigo Tobar at 2023-07-05T21:11:17+08:00
Add test for tp_iternext with a generator

--HG--
branch : py3.9

- - - - -
d3c31e81 by Matti Picus at 2023-07-12T13:38:20+03:00
refactor logic

--HG--
branch : py3.9

- - - - -
6ddd794d by Matti Picus at 2023-07-12T20:47:54+03:00
merge py3.9 into py3.10

--HG--
branch : py3.10

- - - - -


28 changed files:

- .hgtags
- + extra_tests/test_sysconfig.py
- pypy/doc/release-v7.3.12.rst
- pypy/module/cpyext/slotdefs.py
- pypy/module/cpyext/test/test_async_iter.py
- pypy/module/cpyext/test/test_typeobject.py
- pypy/module/cpyext/test/test_unicodeobject.py
- pypy/tool/release/check_versions.py
- pypy/tool/release/repackage.sh
- pypy/tool/release/versions.json
- rpython/jit/codewriter/support.py
- rpython/jit/metainterp/opencoder.py
- rpython/jit/metainterp/pyjitpl.py
- rpython/rtyper/lltypesystem/lltype.py
- rpython/rtyper/lltypesystem/rdict.py
- + rpython/rtyper/lltypesystem/rgcref.py
- rpython/rtyper/lltypesystem/rlist.py
- rpython/rtyper/lltypesystem/rordereddict.py
- rpython/rtyper/lltypesystem/rstr.py
- rpython/rtyper/rmodel.py
- rpython/rtyper/rpbc.py
- rpython/rtyper/rstr.py
- rpython/rtyper/rtyper.py
- rpython/rtyper/test/test_rdict.py
- rpython/rtyper/test/test_rlist.py
- rpython/rtyper/test/test_rpbc.py
- rpython/translator/c/test/test_backendoptimized.py
- rpython/translator/c/test/test_newgc.py


View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/c36c56128cea8a627a63dead16f873333f549002...6ddd794d8693ae98683127f05aa2b84b36b97c7e

-- 
View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/c36c56128cea8a627a63dead16f873333f549002...6ddd794d8693ae98683127f05aa2b84b36b97c7e
You're receiving this email because of your account on foss.heptapod.net.


_______________________________________________
pypy-commit mailing list -- pypy-commit@python.org
To unsubscribe send an email to pypy-commit-le...@python.org
https://mail.python.org/mailman3/lists/pypy-commit.python.org/
Member address: arch...@mail-archive.com

Reply via email to