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