Carl Friedrich Bolz-Tereick pushed to branch branch/jit-smaller-miframes 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

- - - - -
5af4ae79 by Carl Friedrich Bolz-Tereick at 2022-09-12T22:12:41+02:00
#3805 implement a sub-quadratic algorithm for int(<some huge string>),
O(len(s) ** 1.58)

adapted from pure python code in https://github.com/python/cpython/pull/96673

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
902a801b by Carl Friedrich Bolz-Tereick at 2022-09-13T20:55:03+02:00
fix rounding, thanks bjorn martinsson

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
e10e338f by Carl Friedrich Bolz-Tereick at 2022-09-13T22:27:38+02:00
test for previous commit

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
9dd7b25e by Carl Friedrich Bolz-Tereick at 2022-09-15T12:49:31+02:00
merge default

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
c431c200 by Carl Friedrich Bolz-Tereick at 2022-09-24T12:32:19+02:00
intermediate checkin:

resurrect the lopsided karatsuba multiplication case which was wrongly removed

it helps a lot for unbalanced huge multiplications. before this commit,
unbalanced multiplications would fall back to using O(n**2) base case
multiplication, no matter their size

not quite sure yet which algorithm to use, CPython's or my own. both fix the
complexity, my own seems unexpectedly faster.

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
dde396a4 by Carl Friedrich Bolz-Tereick at 2022-09-24T12:35:57+02:00
oops

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
fc674e42 by Carl Friedrich Bolz-Tereick at 2022-09-24T13:22:17+02:00
save a useless multiplication by 0 in the base case

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
50615b01 by Carl Friedrich Bolz-Tereick at 2022-09-24T21:04:27+02:00
introduce accessors for size and sign

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
8e82e35e by Carl Friedrich Bolz-Tereick at 2022-10-06T15:28:13+02:00
merge default

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
11a53919 by Carl Friedrich Bolz-Tereick at 2022-10-06T15:33:13+02:00
Backed out changeset e4c06197fb2d

my ideas in that direction didn't help and it breaks other things

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
8731e5e2 by Carl Friedrich Bolz-Tereick at 2022-10-09T17:12:39+02:00
merge default

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
a0b25a34 by Carl Friedrich Bolz-Tereick at 2022-10-09T21:25:18+02:00
implement lopsided mul in the naive way, in my benchmarks it's consistently
faster than CPython's approach

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
89fdef2c by Carl Friedrich Bolz-Tereick at 2022-10-09T21:25:50+02:00
some more hypothesis tests for string conversion

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
713f9727 by Carl Friedrich Bolz-Tereick at 2022-10-09T21:46:38+02:00
make rbigint.floordiv and rbigint.mod also use rbigint.divmod, to benefit from
its better complexity for huge inputs

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
2dfe03c5 by Matti Picus at 2023-05-04T00:09:13+03:00
start 7.3.13 release, create 7.3.12 release notes

- - - - -
26794f45 by Matti Picus at 2023-05-04T06:50:36+03:00
Add a release note. Hightlights still missing

- - - - -
10786622 by Matti Picus at 2023-05-04T07:07:53+03:00
typos

- - - - -
609d0f44 by Matti Picus at 2023-05-08T08:31:36+03:00
properly cast first argument of pthread_kill to pthread_t, used in python3

- - - - -
b5b5062d by Matti Picus at 2023-05-11T15:18:15+03:00
update contributors (one new contributor since the last release)

- - - - -
19284cbe by Matti Picus at 2023-05-11T15:25:29+03:00
update release note

- - - - -
7f8e25d6 by Matti Picus at 2023-05-11T15:30:38+03:00
update repackage script

- - - - -
47014b90 by Matti Picus at 2023-05-11T16:29:42+03:00
update release note with progress on issue 3280 (grpcio)

- - - - -
f3083223 by Matti Picus at 2023-05-12T08:32:42+03:00
Added tag release-pypy3.9-v7.3.12rc1 for changeset 256b3867989d

- - - - -
8f61b810 by Matti Picus at 2023-05-12T08:33:05+03:00
Added tag release-pypy2.7-v7.3.12rc1 for changeset 087971d00098

- - - - -
3b753fad by Matti Picus at 2023-05-12T08:33:36+03:00
Added tag release-pypy3.10-v7.3.12rc1 for changeset 633f94e00474

- - - - -
cc71c180 by Stefano Rivera at 2023-05-13T18:38:54-04:00
Tests: Ignore NaN mismatch on app tests under cPython 2.7

- - - - -
3bbb78a3 by Stefano Rivera at 2023-05-13T19:27:30-04:00
Backed out changeset e169c8518a07

I hadn't tested it. I just assumed it was the issue, it wasn't.

- - - - -
749a60e0 by Matti Picus at 2023-05-14T09:21:30+03:00
refactor install page to boost conda

- - - - -
79f38d7e by Matti Picus at 2023-05-14T09:25:50+03:00
fix release notes, add to index

- - - - -
6533d24a by Matti Picus at 2023-05-14T12:02:47+03:00
rephrase slightly

- - - - -
97957124 by Stefano Rivera at 2023-05-14T08:09:24-04:00
Backed out changeset b9b73c670a2e

Backed out the wrong changeset. Doh.

- - - - -
cebc4f06 by Stefano Rivera at 2023-05-14T08:31:16-04:00
Backed out changeset 3f8f71f89399

This was the changeset I *meant* to back out earlier.

- - - - -
e771915d by Stefano Rivera at 2023-05-14T08:36:31-04:00
Use C99 NAN for Py_NAN

This uses the standard `NAN` macro provided by C99, as cPython does since
(gh-104263). And drops support for Py_NO_NAN.
Resolves a test failure in AppTestFloatMacros.test_Py_NAN for Debian.

- - - - -
0b41cadd by Matti Picus at 2023-05-15T08:58:22+03:00
update versions.json for 7.3.12rc1

- - - - -
7948e2df by Matti Picus at 2023-05-15T15:14:02+03:00
update release note

- - - - -
b96d3c4f by Carl Friedrich Bolz-Tereick at 2023-05-18T14:39:43+02:00
merge default

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
babe43a0 by Carl Friedrich Bolz-Tereick at 2023-05-18T16:26:56+02:00
fix import

- - - - -
b88b532d by Carl Friedrich Bolz-Tereick at 2023-05-18T16:29:09+02:00
merge heads

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
4f8eb614 by Carl Friedrich Bolz-Tereick at 2023-05-18T17:35:28+02:00
some cleanups in the tests

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
193767c6 by Carl Friedrich Bolz-Tereick at 2023-05-18T22:04:12+02:00
some additional hypothesis tests that don't rely on the underlying long
implementation

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
3e71db3d by Carl Friedrich Bolz-Tereick at 2023-05-19T09:10:42+02:00
fix wrong test

- - - - -
46c30169 by Carl Friedrich Bolz-Tereick at 2023-05-19T09:22:10+02:00
- ouch, one of the tests was not actually checking anything
- add a test to check that the big divmod path is actually used

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
cca76a1f by Carl Friedrich Bolz-Tereick at 2023-05-20T12:00:19+02:00
some more tests for fromrarith_int

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
b6b4fcdc by Carl Friedrich Bolz-Tereick at 2023-05-20T12:00:38+02:00
after some more testing: we can reduce the minimum size for when to use the new
algorithm for rbigint.fromstr

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
001e4396 by Carl Friedrich Bolz-Tereick at 2023-05-20T12:13:53+02:00
use a string builder

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
5e853322 by Carl Friedrich Bolz-Tereick at 2023-05-20T20:18:31+02:00
reduce the runtime of this hypothesis test

--HG--
branch : rbigint-fromstr-subquadratic

- - - - -
4f7edf0c by Carl Friedrich Bolz-Tereick at 2023-05-23T08:49:18+02:00
merge rbigint-fromstr-subquadratic

implement the base 10 string-to-int conversion using a divide an conquer
algorithm with complexity O(n**1.58). The algorithm is due to Bjorn Martinsson.

In the process, I discovered that the "lopsided" case of karatsuba
multiplication was removed for no good reason at some point. I re-measured and
reimplemented it.

- - - - -
69d07ce7 by Matti Picus at 2023-05-24T13:44:23+03:00
update release note

- - - - -
1954fe02 by Matti Picus at 2023-05-24T13:48:59+03:00
make note appear

- - - - -
e1698c85 by Matti Picus at 2023-05-24T13:58:12+03:00
typo

- - - - -
dd485269 by Matti Picus at 2023-05-24T21:00:36+03:00
Added tag release-pypy2.7-v7.3.12rc2 for changeset 4ac174a992a3

- - - - -
51a67f76 by Matti Picus at 2023-05-24T21:01:05+03:00
Added tag release-pypy3.9-v7.3.12rc2 for changeset a6c2a04c0d03

- - - - -
1b9d1d15 by Matti Picus at 2023-05-24T21:01:23+03:00
Added tag release-pypy3.10-v7.3.12rc2 for changeset 07561e2940ea

- - - - -
009e2e91 by Matti Picus at 2023-05-29T00:05:35+03:00
update versions.json for the rc2 release

- - - - -
99a7389e by Carl Friedrich Bolz-Tereick at 2023-05-30T14:17:11+02:00
try to get rid of the weird _cache mechanism in the History class

--HG--
branch : jit-history-no-cache

- - - - -
155a1b3d by Carl Friedrich Bolz-Tereick at 2023-05-30T14:37:10+02:00
fix the somewhat fiddly exception stuff

--HG--
branch : jit-history-no-cache

- - - - -
c14ddc55 by Carl Friedrich Bolz-Tereick at 2023-05-30T14:53:51+02:00
fix test

--HG--
branch : jit-history-no-cache

- - - - -
a28ccd5c by Carl Friedrich Bolz-Tereick at 2023-05-30T15:15:39+02:00
remove copy_value_from

--HG--
branch : jit-history-no-cache

- - - - -
bd353a7b by Carl Friedrich Bolz-Tereick at 2023-05-30T15:34:13+02:00
fix

--HG--
branch : jit-history-no-cache

- - - - -
c123e4e6 by Carl Friedrich Bolz-Tereick at 2023-05-30T16:17:34+02:00
add the value to the *FrontendOp constructors

--HG--
branch : jit-history-no-cache

- - - - -
68a32b71 by Carl Friedrich Bolz-Tereick at 2023-05-30T21:01:11+02:00
fix virtualizables maybe

--HG--
branch : jit-history-no-cache

- - - - -
83f640bb by Matti Picus at 2023-05-31T14:47:29+03:00
update openssl (1.1.1u, 3.0.9) and lzma (5.2.10)

- - - - -
b320d3c2 by Carl Friedrich Bolz-Tereick at 2023-05-31T18:01:30+02:00
a few fixes

--HG--
branch : jit-history-no-cache

- - - - -
5b2e7691 by Carl Friedrich Bolz-Tereick at 2023-05-31T21:17:31+02:00
fixes

--HG--
branch : jit-history-no-cache

- - - - -
18e44485 by Carl Friedrich Bolz-Tereick at 2023-05-31T21:18:11+02:00
merge jit-history-no-cache:

small refactoring in the History class, it can now use the proper opencoder
encoding of a trace immediately, not only after the inputargs are known. this
is a small simplification only.

- - - - -
15b62b11 by Carl Friedrich Bolz-Tereick at 2023-05-31T21:20:31+02:00
merge heads

- - - - -
07841690 by Carl Friedrich Bolz-Tereick at 2023-05-31T21:36:43+02:00
d77a1ac14a7e leads to the two extra operations, which are a bit annoying but
not that costly

- - - - -
0edbc28f by Carl Friedrich Bolz-Tereick at 2023-06-01T22:00:20+02:00
don't give all descrs a ei_index and a descr_index field, almost all 
don't have
that

- - - - -
a683b5c6 by Carl Friedrich Bolz-Tereick at 2023-06-09T09:53:23+02:00
fix comment

- - - - -
0d085188 by Carl Friedrich Bolz-Tereick at 2023-06-07T18:28:17+02:00
inline get_field_updater to allow FieldUpdater to be alloc-removed everywhere

- - - - -
7c0b4b58 by Carl Friedrich Bolz-Tereick at 2023-06-13T13:19:44+02:00
improve warmup a little bit:
- directly put the two most common opcodes into the loop
- add a special case for the int_add variant with a constant argument

- - - - -
cf744857 by Carl Friedrich Bolz-Tereick at 2023-06-13T14:12:50+02:00
use the rbigint.add_int (etc) shortcuts for the int+int overflowing operations
as well

- - - - -
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

- - - - -
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.

- - - - -
a7738d96 by Carl Friedrich Bolz-Tereick at 2023-06-27T10:26:18+02:00
merge default

--HG--
branch : jit-smaller-miframes

- - - - -


30 changed files:

- .hgtags
- LICENSE
- lib_pypy/pypy_tools/build_cffi_imports.py
- pypy/doc/conf.py
- pypy/doc/contributor.rst
- pypy/doc/index-of-release-notes.rst
- pypy/doc/install.rst
- pypy/doc/release-v7.3.11.rst
- + pypy/doc/release-v7.3.12.rst
- pypy/module/cpyext/include/patchlevel.h
- pypy/module/cpyext/include/pymath.h
- pypy/module/pypyjit/test_pypy_c/test_misc.py
- pypy/module/sys/version.py
- pypy/objspace/std/intobject.py
- pypy/objspace/std/test/test_intobject.py
- pypy/tool/release/check_versions.py
- pypy/tool/release/repackage.sh
- pypy/tool/release/versions.json
- rpython/doc/conf.py
- rpython/jit/backend/llgraph/runner.py
- rpython/jit/backend/llsupport/descr.py
- rpython/jit/backend/x86/runner.py
- rpython/jit/codewriter/effectinfo.py
- rpython/jit/codewriter/liveness.py
- rpython/jit/codewriter/support.py
- rpython/jit/codewriter/test/test_effectinfo.py
- rpython/jit/metainterp/heapcache.py
- rpython/jit/metainterp/history.py
- rpython/jit/metainterp/opencoder.py
- rpython/jit/metainterp/optimizeopt/bridgeopt.py


View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/2347dc64673df7f48013e21ba567a419a5b25418...a7738d9636076cc865cde7ce215be0ec6fec728a

-- 
View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/2347dc64673df7f48013e21ba567a419a5b25418...a7738d9636076cc865cde7ce215be0ec6fec728a
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