summaryrefslogtreecommitdiffstats
path: root/Python/opcode_metadata.h
Commit message (Collapse)AuthorAgeFilesLines
* GH-90997: Shrink the LOAD_GLOBAL caches (#102569)Brandt Bucher2023-03-111-4/+4
|
* gh-102021 : Allow multiple input files for interpreter loop generator (#102022)Jacob Bower2023-03-041-2/+3
| | | The input files no longer use `-i`.
* gh-101799: implement PREP_RERAISE_STAR as an intrinsic function (#101800)Irit Katriel2023-02-141-5/+5
|
* GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵Mark Shannon2023-02-131-3/+8
| | | | coroutines. (GH-101788)
* gh-98831: Use opcode metadata for stack_effect() (#101704)Guido van Rossum2023-02-091-7/+18
| | | | | | | | | | * Write output and metadata in a single run This halves the time to run the cases generator (most of the time goes into parsing the input). * Declare or define opcode metadata based on NEED_OPCODE_TABLES * Use generated metadata for stack_effect() * compile.o depends on opcode_metadata.h * Return -1 from _PyOpcode_num_popped/pushed for unknown opcode
* gh-98831: Modernize CALL and family (#101508)Guido van Rossum2023-02-081-56/+56
| | | Includes a slight improvement to `DECREF_INPUTS()`.
* gh-98831: Modernize CALL_FUNCTION_EX (#101627)Guido van Rossum2023-02-081-2/+2
| | | New generator feature: Move CHECK_EVAL_BREAKER() call to just before DISPATCH().
* gh-98831: Modernize FORMAT_VALUE (#101628)Guido van Rossum2023-02-081-2/+2
| | | Generator update: support balanced parentheses and brackets in conditions and size expressions.
* gh-98831: Finish the UNPACK_SEQUENCE family (#101666)Guido van Rossum2023-02-071-8/+8
| | | New generator feature: Generate useful glue for output arrays, so you can just write values to the output array (no bounds checking). Rewrote UNPACK_SEQUENCE_TWO_TUPLE to use this, and also UNPACK_SEQUENCE_{TUPLE,LIST}.
* gh-101632: Add the new RETURN_CONST opcode (#101633)penguin_wwy2023-02-071-0/+5
|
* gh-98831: rewrite UNPACK_EX, UNPACK_SEQUENCE, UNPACK_SEQUENCE_TWO_TUPLE in ↵Irit Katriel2023-02-071-8/+8
| | | | the instruction definition DSL (#101641)
* gh-98831: Modernize the FOR_ITER family of instructions (#101626)Guido van Rossum2023-02-071-15/+15
| | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* gh-98831: rewrite COPY and SWAP in the instruction definition DSL (#101620)Irit Katriel2023-02-061-4/+4
|
* gh-98831: rewrite MAKE_FUNCTION and BUILD_SLICE in the instruction ↵Irit Katriel2023-02-031-4/+4
| | | | definition DSL (#101529)
* gh-98831: rewrite SEND, GET_YIELD_FROM_ITER, RETURN_GENERATOR in the ↵Irit Katriel2023-02-031-6/+6
| | | | instruction definition DSL (#101516)
* gh-98831: rewrite RERAISE and CLEANUP_THROW in the instruction definition ↵Irit Katriel2023-02-021-4/+4
| | | | DSL (#101511)
* gh-98831: Modernize the LOAD_GLOBAL family (#101502)Guido van Rossum2023-02-011-10/+10
|
* gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction ↵Irit Katriel2023-02-011-16/+16
| | | | definition DSL (#101481)
* gh-98831: Modernize the LOAD_ATTR family (#101488)Guido van Rossum2023-02-011-30/+30
|
* gh-98831: rewrite BEFORE_ASYNC_WITH and END_ASYNC_FOR in the instruction ↵Irit Katriel2023-01-311-4/+4
| | | | definition DSL (#101458)
* gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in ↵Irit Katriel2023-01-311-14/+14
| | | | the instruction definition DSL (#101443)
* gh-98831: Support conditional effects; use for LOAD_ATTR (#101333)Guido van Rossum2023-01-301-4/+4
|
* gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL (#101306)Irit Katriel2023-01-251-2/+6
|
* gh-98831: add variable stack effect support to cases generator (#101309)Irit Katriel2023-01-251-171/+857
|
* gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ↵Irit Katriel2023-01-241-4/+4
| | | | (#101287)
* GH-100762: Don't call `gen.throw()` in `gen.close()`, unless necessary. ↵Mark Shannon2023-01-241-1/+1
| | | | | | (GH-101013) * Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible.
* gh-98831: rewrite CHECK_EG_MATCH opcode in the instruction definition DSL ↵Irit Katriel2023-01-241-1/+1
| | | | (#101269)
* GH-98831: Implement array support in cases generator (#100912)Guido van Rossum2023-01-171-4/+4
| | | | | | | | 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).
* GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)Mark Shannon2023-01-161-4/+5
|
* GH-98831: Identify instructions that don't use oparg (#100957)Guido van Rossum2023-01-141-57/+57
| | | | | | | 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
* GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924)Mark Shannon2023-01-111-5/+5
|
* GH-98831: Refactor instr format code and change to enum (#100895)Guido van Rossum2023-01-091-168/+169
|
* GH-99005: More intrinsics (GH-100774)Mark Shannon2023-01-061-3/+0
| | | * Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics.
* gh-98831: Regenerate Python/opcode_metadata.h (GH-100778)Zachary Ware2023-01-051-4/+1
|
* GH-98831: Update generate_cases.py: register inst, opcode_metadata.h (#100735)Guido van Rossum2023-01-051-0/+187
(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>