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


Commits:
33f4ccab by Batuhan Taskaya at 2022-09-19T14:13:17+02:00
(cfbolz, isidentical): Expose position information in the Python code generators

Preliminary work for backporting PEP 657 traceback ranges by exposing
position informations in the bytecode compiler and offering an access
API over the code object type.

--HG--
branch : py3.9-bytecode-traceback-ranges

- - - - -
56513700 by Batuhan Taskaya at 2022-09-19T14:26:22+02:00
(cfbolz, isidentical): Add marshalling support for position information on code 
objects

--HG--
branch : py3.9-bytecode-traceback-ranges

- - - - -
0be9b64f by Batuhan Taskaya at 2022-09-19T17:35:04+02:00
(cfbolz, isidentical): Implement traceback range printing for interactive/shell 
based executions

Note: we intentionally left out handling of this behavior on traceback.format_* 
methods since this is a backport of a Python feature that added in 3.11 to 3.9, 
so we don't want to cause a lot of breakage on the testing side.

--HG--
branch : py3.9-bytecode-traceback-ranges

- - - - -
2312ea20 by Batuhan Taskaya at 2022-09-20T11:02:28+02:00
(cfbolz, isidentical): handle cause/context for re-raised exceptions when 
pretty printing tracebacks

--HG--
branch : py3.9-bytecode-traceback-ranges

- - - - -
6770baa0 by Carl Friedrich Bolz-Tereick at 2023-02-16T09:43:19+01:00
merge py3.9-bytecode-traceback-ranges, which adds column information to
tracebacks

--HG--
branch : py3.10-bytecode-positions

- - - - -
083f7b8d by Matti Picus at 2023-02-16T11:45:20+02:00
merge py3.9

--HG--
branch : py3.10-bytecode-positions

- - - - -
f956e7c2 by Matti Picus at 2023-02-16T11:51:36+02:00
revert 4a06412855d8, error formatting is not consistant

--HG--
branch : py3.10-bytecode-positions

- - - - -
befd5b90 by Carl Friedrich Bolz-Tereick at 2023-02-16T19:41:58+01:00
intermediate checkin: start switching to a new co_linetable format

(it's actually not an efficient, but a simple one at this point. can be
improved)

--HG--
branch : py3.10-bytecode-positions

- - - - -
97cd67ed by Carl Friedrich Bolz-Tereick at 2023-02-16T20:09:11+01:00
some more things working

--HG--
branch : py3.10-bytecode-positions

- - - - -
4f51ffb5 by Carl Friedrich Bolz-Tereick at 2023-02-17T14:08:27+01:00
more fixes

--HG--
branch : py3.10-bytecode-positions

- - - - -
9cfdf7de by Carl Friedrich Bolz-Tereick at 2023-02-18T14:40:45+01:00
start working on fixing tracing

--HG--
branch : py3.10-bytecode-positions

- - - - -
75201e2e by Carl Friedrich Bolz-Tereick at 2023-02-18T15:04:44+01:00
improve the logic for setting frame.f_lineno

--HG--
branch : py3.10-bytecode-positions

- - - - -
751c638d by Matti Picus at 2023-02-23T13:59:53+02:00
fix cpyext

--HG--
branch : py3.10-bytecode-positions

- - - - -
7d71ea73 by Carl Friedrich Bolz-Tereick at 2023-02-27T14:30:37+01:00
fix lineno of cleanup code of with block

--HG--
branch : py3.10-bytecode-positions

- - - - -
55fcd266 by Carl Friedrich Bolz-Tereick at 2023-02-27T17:36:41+01:00
merge py3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
8875b2aa by Carl Friedrich Bolz-Tereick at 2023-02-27T17:39:05+01:00
fix import

--HG--
branch : py3.10-bytecode-positions

- - - - -
6ab8f5a9 by Carl Friedrich Bolz-Tereick at 2023-02-27T18:01:06+01:00
this is actually what CPython gives too

--HG--
branch : py3.10-bytecode-positions

- - - - -
9b511fcf by Carl Friedrich Bolz-Tereick at 2023-02-27T20:11:50+01:00
use position_info more consistently

(this produces yet different results for the finally test, but I am fine with
that)

--HG--
branch : py3.10-bytecode-positions

- - - - -
1c221719 by Carl Friedrich Bolz-Tereick at 2023-02-27T20:50:27+01:00
small refactoring

--HG--
branch : py3.10-bytecode-positions

- - - - -
59febe3e by Carl Friedrich Bolz-Tereick at 2023-02-27T20:50:41+01:00
do better about yield errors generated from symtable

--HG--
branch : py3.10-bytecode-positions

- - - - -
4b45011e by Carl Friedrich Bolz-Tereick at 2023-02-27T21:00:13+01:00
error position of import * in function

--HG--
branch : py3.10-bytecode-positions

- - - - -
7b24cb9e by Carl Friedrich Bolz-Tereick at 2023-02-27T21:07:35+01:00
another position fix

--HG--
branch : py3.10-bytecode-positions

- - - - -
df1593ad by Carl Friedrich Bolz-Tereick at 2023-02-27T21:16:24+01:00
another position fix, an off-by-one-error

--HG--
branch : py3.10-bytecode-positions

- - - - -
932b0291 by Carl Friedrich Bolz-Tereick at 2023-02-27T21:23:51+01:00
this one will never work

--HG--
branch : py3.10-bytecode-positions

- - - - -
8dcd73f8 by Carl Friedrich Bolz-Tereick at 2023-02-27T21:37:56+01:00
do something less completely wrong about end_offset in case of unicode chars
(corner cases still not quite fixed)

--HG--
branch : py3.10-bytecode-positions

- - - - -
ae26a26c by Carl Friedrich Bolz-Tereick at 2023-02-28T10:32:19+01:00
merge py3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
376dc8f4 by Carl Friedrich Bolz-Tereick at 2023-02-28T12:18:06+01:00
start introducing the necessary NOPs for 'pass' statements that 3.10 
requires

--HG--
branch : py3.10-bytecode-positions

- - - - -
022b7292 by Carl Friedrich Bolz-Tereick at 2023-02-28T17:20:23+01:00
this part of the test indeed cannot work, as the comment above even says

--HG--
branch : py3.10-bytecode-positions

- - - - -
c9af93b6 by Carl Friedrich Bolz-Tereick at 2023-02-28T17:20:47+01:00
NOP for while 1 as well

--HG--
branch : py3.10-bytecode-positions

- - - - -
c6a6ffed by Carl Friedrich Bolz-Tereick at 2023-02-28T19:45:38+01:00
these ones don't make sense, they depend on the presence of GEN_START

(also, this changes in 3.11 again)

--HG--
branch : py3.10-bytecode-positions

- - - - -
9f519d92 by Carl Friedrich Bolz-Tereick at 2023-02-28T21:01:50+01:00
optimization for the way that the opcodes for implementing a match case with a
guard are implemented

--HG--
branch : py3.10-bytecode-positions

- - - - -
c44c9e84 by Carl Friedrich Bolz-Tereick at 2023-03-06T12:38:23+01:00
merge py3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
70a979fc by Carl Friedrich Bolz-Tereick at 2023-03-07T09:50:54+01:00
add some code to show the astcompiler blocks as a flow gragh

--HG--
branch : py3.10-bytecode-positions

- - - - -
e861b0db by Carl Friedrich Bolz-Tereick at 2023-03-07T11:50:56+01:00
copy cpython's duplicate_exits_without_lineno logic

--HG--
branch : py3.10-bytecode-positions

- - - - -
0eb57ef3 by Carl Friedrich Bolz-Tereick at 2023-03-07T11:58:02+01:00
next test, quite a bit trickier

--HG--
branch : py3.10-bytecode-positions

- - - - -
ce016ee9 by Carl Friedrich Bolz-Tereick at 2023-03-07T12:19:31+01:00
this is not it, yet

--HG--
branch : py3.10-bytecode-positions

- - - - -
830ebeec by Carl Friedrich Bolz-Tereick at 2023-03-08T11:43:03+01:00
merge py3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
3070dc8e by Carl Friedrich Bolz-Tereick at 2023-03-08T11:55:39+01:00
fixes

--HG--
branch : py3.10-bytecode-positions

- - - - -
0fdf7716 by Carl Friedrich Bolz-Tereick at 2023-03-08T16:49:22+01:00
move jump threading into its own function

--HG--
branch : py3.10-bytecode-positions

- - - - -
1a240813 by Carl Friedrich Bolz-Tereick at 2023-03-08T17:48:49+01:00
this passes like CPython now

--HG--
branch : py3.10-bytecode-positions

- - - - -
c99d816c by Carl Friedrich Bolz-Tereick at 2023-03-08T19:27:00+01:00
fix lineno of RERAISE in finally blocks

--HG--
branch : py3.10-bytecode-positions

- - - - -
1372570c by Carl Friedrich Bolz-Tereick at 2023-03-08T19:47:45+01:00
update the tests to be like CPy

--HG--
branch : py3.10-bytecode-positions

- - - - -
71b047ab by Carl Friedrich Bolz-Tereick at 2023-03-08T19:53:10+01:00
kill test that simply does not make sense any more in 3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
984a3724 by Carl Friedrich Bolz-Tereick at 2023-03-10T08:42:03+01:00
this is the next test I want to pass, the implicit RETURN_VALUE opcode needs to
be on line 1

--HG--
branch : py3.10-bytecode-positions

- - - - -
e04c4ecc by Carl Friedrich Bolz-Tereick at 2023-03-15T10:26:05+01:00
propagate position info to pass test_loop_return

--HG--
branch : py3.10-bytecode-positions

- - - - -
48fd2ae8 by Carl Friedrich Bolz-Tereick at 2023-03-15T11:03:27+01:00
fix test_f_lineno_set_firstline: if the tracer sets the lineno, don't set 
it back

--HG--
branch : py3.10-bytecode-positions

- - - - -
afcee3e3 by Carl Friedrich Bolz-Tereick at 2023-03-15T12:45:04+01:00
dont propagate line numbers through exception handlers

--HG--
branch : py3.10-bytecode-positions

- - - - -
306af88d by Carl Friedrich Bolz-Tereick at 2023-03-16T12:28:29+01:00
make RERAISE take a boolean argument which resets the frame.last_instr to the
value it had before entering the finally block. this mirrors the approach of
bpo-42246 and fixes test_dont_trace_on_reraise2

--HG--
branch : py3.10-bytecode-positions

- - - - -
b6294c1a by Carl Friedrich Bolz-Tereick at 2023-03-16T12:32:45+01:00
remove more of the previous hack that solved the problem fixed in 394d8edc72b3

--HG--
branch : py3.10-bytecode-positions

- - - - -
0ef9cb9a by Carl Friedrich Bolz-Tereick at 2023-03-16T13:51:52+01:00
remove more vestiges of the old line tracing approach

--HG--
branch : py3.10-bytecode-positions

- - - - -
125ecd01 by Carl Friedrich Bolz-Tereick at 2023-03-16T13:53:18+01:00
make marklines use the new linetable format

--HG--
branch : py3.10-bytecode-positions

- - - - -
05220af6 by Carl Friedrich Bolz-Tereick at 2023-03-16T13:55:37+01:00
ouch

--HG--
branch : py3.10-bytecode-positions

- - - - -
a8133412 by Carl Friedrich Bolz-Tereick at 2023-03-16T13:56:52+01:00
remove property that I used for testing, seems now everything goes through the
proper APIs

--HG--
branch : py3.10-bytecode-positions

- - - - -
b77b9a9c by Carl Friedrich Bolz-Tereick at 2023-03-16T13:57:16+01:00
remove very old and always skipped test

--HG--
branch : py3.10-bytecode-positions

- - - - -
6599b5fc by Carl Friedrich Bolz-Tereick at 2023-03-16T15:03:09+01:00
this test actually works

--HG--
branch : py3.10-bytecode-positions

- - - - -
128c9834 by Carl Friedrich Bolz-Tereick at 2023-03-16T16:37:17+01:00
these tests are cpython only

--HG--
branch : py3.10-bytecode-positions

- - - - -
00421564 by Carl Friedrich Bolz-Tereick at 2023-03-16T16:48:10+01:00
some missing line tracing NOPs

--HG--
branch : py3.10-bytecode-positions

- - - - -
6a26d73a by Carl Friedrich Bolz-Tereick at 2023-03-16T20:38:14+01:00
test and fix: the NOP emitted for 'while 1' needs to be *in* the loop

--HG--
branch : py3.10-bytecode-positions

- - - - -
9125879e by Carl Friedrich Bolz-Tereick at 2023-03-16T20:49:46+01:00
another test and fix, turns out the whole "line event on backwards 
jump" is
important

--HG--
branch : py3.10-bytecode-positions

- - - - -
c7ee9033 by Carl Friedrich Bolz-Tereick at 2023-03-16T21:03:53+01:00
test and fix: location of END_ASYNC_FOR

--HG--
branch : py3.10-bytecode-positions

- - - - -
ce564075 by Carl Friedrich Bolz-Tereick at 2023-03-16T21:25:11+01:00
test and fix: break in finally in loop

--HG--
branch : py3.10-bytecode-positions

- - - - -
a3806a8c by Carl Friedrich Bolz-Tereick at 2023-03-16T21:38:53+01:00
test and fix (break jumping to break then return)

--HG--
branch : py3.10-bytecode-positions

- - - - -
3c43c7e7 by Carl Friedrich Bolz-Tereick at 2023-03-16T23:07:38+01:00
dead code should have on influence on the current position

--HG--
branch : py3.10-bytecode-positions

- - - - -
a907a08d by Carl Friedrich Bolz-Tereick at 2023-03-16T23:27:54+01:00
test and fix: need to duplicate implicit return blocks for *every* jump op, not
just those at the end of a block (don't quite know why CPy does not have 
this
problem)

--HG--
branch : py3.10-bytecode-positions

- - - - -
f7a29548 by Carl Friedrich Bolz-Tereick at 2023-03-17T13:47:33+01:00
test case and fix: the implicit return in class bodies also should be copied

--HG--
branch : py3.10-bytecode-positions

- - - - -
328606f7 by Carl Friedrich Bolz-Tereick at 2023-03-17T14:14:26+01:00
better jump threading to fix the next test

--HG--
branch : py3.10-bytecode-positions

- - - - -
4bd94b86 by Carl Friedrich Bolz-Tereick at 2023-03-17T17:46:46+01:00
don't emit bytecode for unreachable blocks

--HG--
branch : py3.10-bytecode-positions

- - - - -
42e6817d by Carl Friedrich Bolz-Tereick at 2023-03-17T18:47:49+01:00
this test was just wrong in 3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
b78aa8cc by Carl Friedrich Bolz-Tereick at 2023-03-17T18:49:02+01:00
better jump threading, better removal of redundant NOPs

--HG--
branch : py3.10-bytecode-positions

- - - - -
351ffeca by Carl Friedrich Bolz-Tereick at 2023-03-17T18:49:17+01:00
the predecessors logic was just broken, do it properly. fixes
test_trace_ignore_hidden

--HG--
branch : py3.10-bytecode-positions

- - - - -
62250fe9 by Carl Friedrich Bolz-Tereick at 2023-03-17T19:37:43+01:00
fix test_generator_trace_stopiteration: when starting to trace an already
executing generator, the frame.f_lineno attribute needs to be initialized
correctly to ensure that we don't get a line event for the line the 
generator
was resumed at

--HG--
branch : py3.10-bytecode-positions

- - - - -
7b747a0e by Carl Friedrich Bolz-Tereick at 2023-03-17T19:48:17+01:00
mark JUMP_ABSOLUTE in for loop as artificial

--HG--
branch : py3.10-bytecode-positions

- - - - -
e55f43a7 by Carl Friedrich Bolz-Tereick at 2023-03-17T19:55:05+01:00
test and fix: produce lineno nops for constant expressions

--HG--
branch : py3.10-bytecode-positions

- - - - -
6a0505a4 by Carl Friedrich Bolz-Tereick at 2023-03-20T10:14:01+01:00
test and fix: be a bit more thorough in duplicating blocks without line info
leading to an implicit return or an implicit reraise

--HG--
branch : py3.10-bytecode-positions

- - - - -
7f1b948a by Carl Friedrich Bolz-Tereick at 2023-03-20T10:31:35+01:00
fix revdb tests

--HG--
branch : py3.10-bytecode-positions

- - - - -
ad20cc71 by Carl Friedrich Bolz-Tereick at 2023-03-20T10:45:00+01:00
optimize assert 0

--HG--
branch : py3.10-bytecode-positions

- - - - -
0509e464 by Carl Friedrich Bolz-Tereick at 2023-03-20T11:04:41+01:00
typo

--HG--
branch : py3.10-bytecode-positions

- - - - -
b21e81b5 by Carl Friedrich Bolz-Tereick at 2023-03-20T11:38:02+01:00
two more optimizations:

- make accept_jump_if generally look into the constness of its condition
- remove JUMP_FORWARDS that go to the block that would be reached by falling
  through anyway

--HG--
branch : py3.10-bytecode-positions

- - - - -
f6543c60 by Carl Friedrich Bolz-Tereick at 2023-03-20T13:29:22+01:00
an attempt to be a bit less messy, has other downsides of requiring annoying
bit manipulation in propagate_positions though

--HG--
branch : py3.10-bytecode-positions

- - - - -
660da28f by Carl Friedrich Bolz-Tereick at 2023-03-20T14:48:19+01:00
cleanup, plus a bug fix

--HG--
branch : py3.10-bytecode-positions

- - - - -
fc7f362e by Carl Friedrich Bolz-Tereick at 2023-03-20T15:44:52+01:00
use a StringBuilder

--HG--
branch : py3.10-bytecode-positions

- - - - -
afa766e1 by Carl Friedrich Bolz-Tereick at 2023-03-20T15:51:28+01:00
use a StringBuilder for building the position info byte string

--HG--
branch : py3.10-bytecode-positions

- - - - -
d4c73f8c by Carl Friedrich Bolz-Tereick at 2023-03-22T16:00:21+01:00
test and fix: be much more careful about maintaining invariants

--HG--
branch : py3.10-bytecode-positions

- - - - -
e7c3ed7f by Carl Friedrich Bolz-Tereick at 2023-03-22T16:42:07+01:00
some more corner cases

--HG--
branch : py3.10-bytecode-positions

- - - - -
a00ae7cd by Carl Friedrich Bolz-Tereick at 2023-03-22T17:22:35+01:00
test and fix

--HG--
branch : py3.10-bytecode-positions

- - - - -
199fa5de by Carl Friedrich Bolz-Tereick at 2023-03-23T13:10:27+01:00
fix test_elim_jump_to_return

--HG--
branch : py3.10-bytecode-positions

- - - - -
21b69312 by Carl Friedrich Bolz-Tereick at 2023-03-23T19:28:14+01:00
various further tweaks to get tests back to passing

--HG--
branch : py3.10-bytecode-positions

- - - - -
3fdeb7c3 by Carl Friedrich Bolz-Tereick at 2023-03-23T21:10:55+01:00
add another case to the strange heuristic about when to report StopIteration to
trace hooks

--HG--
branch : py3.10-bytecode-positions

- - - - -
c2b58180 by Carl Friedrich Bolz-Tereick at 2023-03-24T13:46:05+01:00
another iteration in the whole "let's get while correct" mess

--HG--
branch : py3.10-bytecode-positions

- - - - -
95d97781 by Carl Friedrich Bolz-Tereick at 2023-03-24T13:57:25+01:00
fix listcomp jump logic

--HG--
branch : py3.10-bytecode-positions

- - - - -
91ddfd2c by Carl Friedrich Bolz-Tereick at 2023-04-01T15:15:14+02:00
merge py3.10

--HG--
branch : py3.10-bytecode-positions

- - - - -
c568004b by Carl Friedrich Bolz-Tereick at 2023-04-01T17:19:32+02:00
change the way that jump targets are encoded in the bytecode, the absolute
values are divided by 2 in the encoding, since they must all be even

--HG--
branch : py3.10-bytecode-positions

- - - - -
1b279a73 by Carl Friedrich Bolz-Tereick at 2023-04-01T17:31:28+02:00
unbreak the jit version of jump_absolute

--HG--
branch : py3.10-bytecode-positions

- - - - -
6791f6ea by Carl Friedrich Bolz-Tereick at 2023-04-04T12:55:57+02:00
fix test

--HG--
branch : py3.10-bytecode-positions

- - - - -
106ae1b0 by Carl Friedrich Bolz-Tereick at 2023-04-04T13:30:51+02:00
fix two debugging tools, __pytrace__=1 and interplevel pycode.dump()

--HG--
branch : py3.10-bytecode-positions

- - - - -
55f8c753 by Carl Friedrich Bolz-Tereick at 2023-04-04T13:42:32+02:00
make test less strict

--HG--
branch : py3.10-bytecode-positions

- - - - -
6c9c81f4 by Carl Friedrich Bolz-Tereick at 2023-04-04T13:54:18+02:00
don't add carets to whole lines

--HG--
branch : py3.10-bytecode-positions

- - - - -
fb051324 by Carl Friedrich Bolz-Tereick at 2023-04-04T14:01:43+02:00
get dis tests to run at all

--HG--
branch : py3.10-bytecode-positions

- - - - -
1f014731 by Carl Friedrich Bolz-Tereick at 2023-04-04T15:17:54+02:00
be much more robust about invalid line tables

--HG--
branch : py3.10-bytecode-positions

- - - - -
9e815028 by Carl Friedrich Bolz-Tereick at 2023-04-04T18:01:14+02:00
some different first_lineno logic

--HG--
branch : py3.10-bytecode-positions

- - - - -
b3ec31de by Carl Friedrich Bolz-Tereick at 2023-04-05T11:07:03+02:00
don't crash on linenos smaller than the first line number (can happen on
hand-crafted ASTs)

--HG--
branch : py3.10-bytecode-positions

- - - - -
9d804cdf by Carl Friedrich Bolz-Tereick at 2023-04-05T11:50:56+02:00
fix test_async_yield_athrow_throw

--HG--
branch : py3.10

- - - - -
dc90f949 by Carl Friedrich Bolz-Tereick at 2023-04-05T12:05:32+02:00
fix magic test

--HG--
branch : py3.10-bytecode-positions

- - - - -
cc6df24c by Carl Friedrich Bolz-Tereick at 2023-04-05T12:06:12+02:00
fix whitespace

--HG--
branch : py3.10-bytecode-positions

- - - - -
4c592b56 by Carl Friedrich Bolz-Tereick at 2023-04-05T12:06:24+02:00
(isidentical, cfbolz): merge py3.10-bytecode-positions:

- implement PEP 626 - Precise line numbers for debugging and other tools:
  this follows CPython implementation strategy quite closely, apart from the
  encoding format that the line table is using.

- implement precise error column positions (will only come in CPython 3.11, but
  it's a super cool feature).

--HG--
branch : py3.10

- - - - -


30 changed files:

- lib-python/3/test/test_compile.py
- lib-python/3/test/test_dis.py
- lib-python/3/test/test_exceptions.py
- lib-python/3/test/test_sys_setprofile.py
- lib-python/3/test/test_sys_settrace.py
- lib-python/3/traceback.py
- pypy/interpreter/astcompiler/assemble.py
- pypy/interpreter/astcompiler/codegen.py
- pypy/interpreter/astcompiler/optimize.py
- pypy/interpreter/astcompiler/symtable.py
- pypy/interpreter/astcompiler/test/apptest_misc.py
- + pypy/interpreter/astcompiler/test/test_assemble.py
- pypy/interpreter/astcompiler/test/test_compiler.py
- pypy/interpreter/astcompiler/test/test_misc.py
- pypy/interpreter/astcompiler/test/test_symtable.py
- pypy/interpreter/executioncontext.py
- pypy/interpreter/generator.py
- pypy/interpreter/interactive.py
- + pypy/interpreter/location.py
- pypy/interpreter/pycode.py
- pypy/interpreter/pyframe.py
- pypy/interpreter/pyopcode.py
- pypy/interpreter/pyparser/error.py
- pypy/interpreter/pytraceback.py
- pypy/interpreter/reverse_debugging.py
- pypy/interpreter/test/apptest_annotations.py
- pypy/interpreter/test/apptest_function.py
- + pypy/interpreter/test/apptest_pycode.py
- pypy/interpreter/test/apptest_pyframe.py
- pypy/interpreter/test/apptest_traceback.py


View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/25d242ad3db807e4e66da877c05639a6f896796b...4c592b56b14e2f377f1136fee89f3c8eeaf8a33a

-- 
View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/25d242ad3db807e4e66da877c05639a6f896796b...4c592b56b14e2f377f1136fee89f3c8eeaf8a33a
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