Irit Katriel
b91b42d236
gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction definition DSL ( #101481 )
2023-02-01 19:38:06 +00:00
Guido van Rossum
7840ff3cdb
gh-98831: Modernize the LOAD_ATTR family ( #101488 )
2023-02-01 10:56:52 -08:00
Irit Katriel
0062f538d9
gh-98831: rewrite BEFORE_ASYNC_WITH and END_ASYNC_FOR in the instruction definition DSL ( #101458 )
2023-01-31 18:47:50 +00:00
Irit Katriel
29a858b85f
gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL ( #101443 )
2023-01-31 10:23:15 +00:00
Guido van Rossum
f5a3d91b6c
gh-98831: Support conditional effects; use for LOAD_ATTR ( #101333 )
2023-01-29 17:28:39 -08:00
Irit Katriel
b400219df5
gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL ( #101306 )
2023-01-25 22:29:56 +00:00
Irit Katriel
19f90d6b97
gh-98831: add variable stack effect support to cases generator ( #101309 )
2023-01-25 20:41:03 +00:00
Irit Katriel
1a9d8c750b
gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ( #101287 )
2023-01-24 22:39:13 +00:00
Mark Shannon
f02fa64bf2
GH-100762: Don't call `gen.throw()` in `gen.close()`, unless necessary. (GH-101013)
...
* Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible.
2023-01-24 17:25:37 +00:00
Irit Katriel
8c183cddd3
gh-98831: rewrite CHECK_EG_MATCH opcode in the instruction definition DSL ( #101269 )
2023-01-24 09:43:16 +00:00
Guido van Rossum
80e3e3423c
GH-98831: Implement array support in cases generator ( #100912 )
...
You can now write things like this:
```
inst(BUILD_STRING, (pieces[oparg] -- str)) { ... }
inst(LIST_APPEND, (list, unused[oparg-1], v -- list, unused[oparg-1])) { ... }
```
Note that array output effects are only partially supported (they must be named `unused` or correspond to an input effect).
2023-01-17 15:59:19 -08:00
Mark Shannon
7b14c2ef19
GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)
2023-01-16 12:35:21 +00:00
Guido van Rossum
5134ef4878
GH-98831: Identify instructions that don't use oparg ( #100957 )
...
For these the instr_format field uses IX instead of IB.
Register instructions use IX, IB, IBBX, IBBB, etc.
Also: Include the closing '}' in Block.tokens, for completeness
2023-01-13 17:06:45 -08:00
Mark Shannon
6e4e14d98f
GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924)
2023-01-11 20:40:43 +00:00
Guido van Rossum
3f3c78e32f
GH-98831: Refactor instr format code and change to enum ( #100895 )
2023-01-09 15:53:01 -08:00
Mark Shannon
78068126a1
GH-99005: More intrinsics (GH-100774)
...
* Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics.
2023-01-06 14:47:57 +00:00
Zachary Ware
af5149f30b
gh-98831: Regenerate Python/opcode_metadata.h (GH-100778)
2023-01-05 15:47:18 -06:00
Guido van Rossum
14b7f00fdf
GH-98831: Update generate_cases.py: register inst, opcode_metadata.h ( #100735 )
...
(These aren't used yet, but may be coming soon,
and it's easier to keep this tool the same between branches.)
Added a sanity check for all this to compile.c.
Co-authored-by: Irit Katriel <iritkatriel@yahoo.com>
2023-01-05 13:01:07 -08:00