[pypy-commit] [Git][pypy/pypy][branch/py3.8] 41 commits: (cfbolz, twitch): attempt at finding a more incrementally testable way to

Carl Friedrich Bolz-Tereick (@cfbolz) foss at heptapod.net
Fri Jun 4 07:16:15 EDT 2021



Carl Friedrich Bolz-Tereick pushed to branch branch/py3.8 at PyPy / pypy


Commits:
2bdad52c by Carl Friedrich Bolz-Tereick at 2021-03-27T20:29:33+01:00
(cfbolz, twitch): attempt at finding a more incrementally testable way to
implement the new 3.8 opcodes

the problem is that the bytecode changes are very much all-or-nothing and thus
hard to implement and test incrementally. here I make a copy of everything with
the goal to be able to test the changes in isolation

--HG--
branch : py3.8-new-opcodes

- - - - -
83bfd9f2 by Carl Friedrich Bolz-Tereick at 2021-03-27T20:41:01+01:00
another copied file

--HG--
branch : py3.8-new-opcodes

- - - - -
de07499e by Carl Friedrich Bolz-Tereick at 2021-03-27T21:16:12+01:00
(cfbolz, twitch): hack hack hack until we can run the first simple loop in the
new parallel universe. without using SETUP_LOOP and POP_BLOCK!

--HG--
branch : py3.8-new-opcodes

- - - - -
1e69ebe6 by Carl Friedrich Bolz-Tereick at 2021-03-27T21:50:50+01:00
(cfbolz, twitch): implement break and continue in the new world

--HG--
branch : py3.8-new-opcodes

- - - - -
0881b374 by Carl Friedrich Bolz-Tereick at 2021-03-30T16:34:31+02:00
start implementing try: finally:

--HG--
branch : py3.8-new-opcodes

- - - - -
f4df6610 by Carl Friedrich Bolz-Tereick at 2021-03-30T17:34:30+02:00
test break in except: handler

--HG--
branch : py3.8-new-opcodes

- - - - -
d67ae65e by Carl Friedrich Bolz-Tereick at 2021-03-30T17:39:07+02:00
test another case

--HG--
branch : py3.8-new-opcodes

- - - - -
9446076b by Carl Friedrich Bolz-Tereick at 2021-03-30T22:08:08+02:00
adjust to pypy-specificities

--HG--
branch : py3.8-new-opcodes

- - - - -
55fe07da by Carl Friedrich Bolz-Tereick at 2021-03-30T22:48:20+02:00
continue in finally

--HG--
branch : py3.8-new-opcodes

- - - - -
caafd611 by Carl Friedrich Bolz-Tereick at 2021-03-30T23:03:09+02:00
more convolutions

--HG--
branch : py3.8-new-opcodes

- - - - -
1117ed14 by Carl Friedrich Bolz-Tereick at 2021-03-30T23:07:43+02:00
except body unwinding

--HG--
branch : py3.8-new-opcodes

- - - - -
c19483c8 by Carl Friedrich Bolz-Tereick at 2021-03-31T11:55:31+02:00
start supporting with

--HG--
branch : py3.8-new-opcodes

- - - - -
8c50ae06 by Carl Friedrich Bolz-Tereick at 2021-03-31T12:02:51+02:00
unwind with blocks

--HG--
branch : py3.8-new-opcodes

- - - - -
76526021 by Carl Friedrich Bolz-Tereick at 2021-03-31T23:13:11+02:00
fix problem in named except blocks

--HG--
branch : py3.8-new-opcodes

- - - - -
542de198 by Carl Friedrich Bolz-Tereick at 2021-03-31T23:13:53+02:00
support async for loops

--HG--
branch : py3.8-new-opcodes

- - - - -
08284c2b by Carl Friedrich Bolz-Tereick at 2021-03-31T23:17:05+02:00
there is only one kind of unroller left

--HG--
branch : py3.8-new-opcodes

- - - - -
6e776eb0 by Carl Friedrich Bolz-Tereick at 2021-04-01T07:51:43+02:00
update copy of stdlib opcode

--HG--
branch : py3.8-new-opcodes

- - - - -
d18a901f by Carl Friedrich Bolz-Tereick at 2021-04-01T13:46:10+02:00
start with async generators

--HG--
branch : py3.8-new-opcodes

- - - - -
191ca21d by Carl Friedrich Bolz-Tereick at 2021-04-01T14:03:56+02:00
async with support

--HG--
branch : py3.8-new-opcodes

- - - - -
fd47ca64 by Carl Friedrich Bolz-Tereick at 2021-04-03T07:40:12+02:00
merge py3.8

--HG--
branch : py3.8-new-opcodes

- - - - -
b8864861 by Carl Friedrich Bolz-Tereick at 2021-04-03T07:57:10+02:00
move the content back to the original files (intentionally not using hg mv, to
get a consistent long history without having to use copy-tracking. to look into
the details of these changes, look at the commits of the py3.8-new-opcodes
branch)

--HG--
branch : py3.8-new-opcodes

- - - - -
74030122 by Carl Friedrich Bolz-Tereick at 2021-04-03T08:14:37+02:00
cleanup

--HG--
branch : py3.8-new-opcodes

- - - - -
cad31bfe by Carl Friedrich Bolz-Tereick at 2021-04-03T08:20:23+02:00
add repr

--HG--
branch : py3.8-new-opcodes

- - - - -
d6cd83ab by Carl Friedrich Bolz-Tereick at 2021-04-03T08:39:13+02:00
this just fails nowadays

--HG--
branch : py3.8-new-opcodes

- - - - -
1cb9730a by Carl Friedrich Bolz-Tereick at 2021-04-03T08:44:51+02:00
those two tests just work now

--HG--
branch : py3.8-new-opcodes

- - - - -
511653a0 by Carl Friedrich Bolz-Tereick at 2021-04-03T08:53:09+02:00
woops, rescue tests

--HG--
branch : py3.8-new-opcodes

- - - - -
06e73639 by Carl Friedrich Bolz-Tereick at 2021-04-03T12:40:48+02:00
fix stack effect of POP_FINALLY

--HG--
branch : py3.8-new-opcodes

- - - - -
0dbe7a04 by Carl Friedrich Bolz-Tereick at 2021-04-03T12:51:00+02:00
if False is constant-folded nowadays

--HG--
branch : py3.8-new-opcodes

- - - - -
012e95f5 by Carl Friedrich Bolz-Tereick at 2021-04-04T08:55:06+02:00
a bit of cleanup, fix translation

--HG--
branch : py3.8-new-opcodes

- - - - -
45471d28 by Carl Friedrich Bolz-Tereick at 2021-04-06T20:55:24+02:00
I don't know why this is happening only on this branch, but fix translation here for now

--HG--
branch : py3.8-new-opcodes

- - - - -
a60fabac by Carl Friedrich Bolz-Tereick at 2021-04-06T20:56:43+02:00
undo some of the simplifications, unrolling the block stack is still needed

--HG--
branch : py3.8-new-opcodes

- - - - -
cdc28d77 by Carl Friedrich Bolz-Tereick at 2021-04-07T21:17:48+02:00
bump magic on the branch

--HG--
branch : py3.8-new-opcodes

- - - - -
b1881a85 by Carl Friedrich Bolz-Tereick at 2021-04-07T21:19:41+02:00
merge py3.8

--HG--
branch : py3.8-new-opcodes

- - - - -
af4663e5 by Carl Friedrich Bolz-Tereick at 2021-04-08T20:14:44+02:00
fix

--HG--
branch : py3.8-new-opcodes

- - - - -
48d6bc74 by Carl Friedrich Bolz-Tereick at 2021-04-08T22:36:18+02:00
merge py3.8

--HG--
branch : py3.8-new-opcodes

- - - - -
27b2ff6a by Carl Friedrich Bolz-Tereick at 2021-04-12T20:53:03+02:00
test and fix

--HG--
branch : py3.8-new-opcodes

- - - - -
1801d361 by Carl Friedrich Bolz-Tereick at 2021-04-13T09:34:54+02:00
disable setting the line on frames for now (needs careful adaptation to the new
bytecode format)

--HG--
branch : py3.8-new-opcodes

- - - - -
707a5ae3 by Carl Friedrich Bolz-Tereick at 2021-04-13T09:52:28+02:00
fix

--HG--
branch : py3.8-new-opcodes

- - - - -
35cff700 by Carl Friedrich Bolz-Tereick at 2021-06-04T13:04:47+02:00
merge py3.8-new-opcodes: switch to the new opcode implementation

this breaks setting frame.f_lineno again, but as usual it's a mess to fix

--HG--
branch : py3.8

- - - - -
22017cc6 by Carl Friedrich Bolz-Tereick at 2021-06-04T13:09:20+02:00
document branch

--HG--
branch : py3.8

- - - - -
920428e3 by Carl Friedrich Bolz-Tereick at 2021-06-04T13:16:02+02:00
merge heads

--HG--
branch : py3.8

- - - - -


15 changed files:

- lib-python/3/opcode.py
- pypy/doc/whatsnew-pypy3-head.rst
- pypy/interpreter/astcompiler/assemble.py
- pypy/interpreter/astcompiler/codegen.py
- pypy/interpreter/astcompiler/test/test_compiler.py
- pypy/interpreter/baseobjspace.py
- pypy/interpreter/generator.py
- pypy/interpreter/pycode.py
- pypy/interpreter/pyframe.py
- pypy/interpreter/pyopcode.py
- pypy/interpreter/test/apptest_coroutine.py
- pypy/interpreter/test/apptest_pyframe.py
- pypy/interpreter/test/test_compiler.py
- pypy/interpreter/typedef.py
- pypy/tool/opcode3.py


View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/94b3b824d6307debe9cd657a7cb70e267f4cff3f...920428e39c7bfb4fecde17ce16d08c68cd76a65c

-- 
View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/94b3b824d6307debe9cd657a7cb70e267f4cff3f...920428e39c7bfb4fecde17ce16d08c68cd76a65c
You're receiving this email because of your account on foss.heptapod.net.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/pypy-commit/attachments/20210604/152de84d/attachment-0001.html>


More information about the pypy-commit mailing list