Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (GH-101912) | Steve Dower | 2023-02-20 | 1 | -10/+10 |
| | | | | | | * gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h * Make cases_generator correct on Windows | ||||
* | gh-101928: fix crash in compiler on multi-line lambda in function call (#101933) | penguin_wwy | 2023-02-16 | 1 | -2/+2 |
| | |||||
* | gh-101799: implement PREP_RERAISE_STAR as an intrinsic function (#101800) | Irit Katriel | 2023-02-14 | 1 | -2/+2 |
| | |||||
* | GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵ | Mark Shannon | 2023-02-13 | 1 | -0/+2 |
| | | | | coroutines. (GH-101788) | ||||
* | gh-98831: Use opcode metadata for stack_effect() (#101704) | Guido van Rossum | 2023-02-09 | 1 | -220/+38 |
| | | | | | | | | | | * 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-101632: Add the new RETURN_CONST opcode (#101633) | penguin_wwy | 2023-02-07 | 1 | -7/+10 |
| | |||||
* | gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction ↵ | Irit Katriel | 2023-02-01 | 1 | -11/+13 |
| | | | | definition DSL (#101481) | ||||
* | gh-99955: use SUCCESS/ERROR return values in optimizer and assembler. Use ↵ | Irit Katriel | 2023-01-31 | 1 | -189/+142 |
| | | | | RETURN_IF_ERROR where appropriate. Fix a couple of bugs. (#101412) | ||||
* | gh-101400: Fix incorrect lineno in exception message on continue/break which ↵ | Dong-hee Na | 2023-01-30 | 1 | -2/+4 |
| | | | | are not in a loop (#101413) | ||||
* | gh-98831: add variable stack effect support to cases generator (#101309) | Irit Katriel | 2023-01-25 | 1 | -5/+7 |
| | |||||
* | GH-100762: Don't call `gen.throw()` in `gen.close()`, unless necessary. ↵ | Mark Shannon | 2023-01-24 | 1 | -3/+3 |
| | | | | | | (GH-101013) * Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible. | ||||
* | Fix typo in comment in compile.c (#101194) | Ikko Eltociear Ashimine | 2023-01-20 | 1 | -1/+1 |
| | |||||
* | gh-101169: reduce the implementation of except* by one bytecode instruction ↵ | Irit Katriel | 2023-01-19 | 1 | -16/+11 |
| | | | | (#101170) | ||||
* | GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983) | Mark Shannon | 2023-01-16 | 1 | -0/+3 |
| | |||||
* | GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924) | Mark Shannon | 2023-01-11 | 1 | -1/+3 |
| | |||||
* | gh-88696: clean up dead argument to compiler_make_closure (GH-100806) | Carl Meyer | 2023-01-07 | 1 | -23/+7 |
| | |||||
* | GH-99005: More intrinsics (GH-100774) | Mark Shannon | 2023-01-06 | 1 | -10/+9 |
| | | | * Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics. | ||||
* | GH-98831: Update generate_cases.py: register inst, opcode_metadata.h (#100735) | Guido van Rossum | 2023-01-05 | 1 | -0/+28 |
| | | | | | | | | (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> | ||||
* | GH-99005: Add `CALL_INTRINSIC_1` instruction (GH-100771) | Mark Shannon | 2023-01-05 | 1 | -12/+8 |
| | | | | | | | | * Remove PRINT_EXPR instruction * Remove STOPITERATION_ERROR instruction * Remove IMPORT_STAR instruction | ||||
* | gh-100747: some compiler macros use c instead of C to access the compiler ↵ | Irit Katriel | 2023-01-04 | 1 | -7/+7 |
| | | | | (#100748) | ||||
* | GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721) | Mark Shannon | 2023-01-04 | 1 | -1/+1 |
| | |||||
* | GH-99554: Trim trailing whitespace (GH-100435) | Brandt Bucher | 2022-12-22 | 1 | -1/+1 |
| | | | Automerge-Triggered-By: GH:brandtbucher | ||||
* | GH-99554: Pack location tables more effectively (GH-99556) | Brandt Bucher | 2022-12-22 | 1 | -23/+44 |
| | |||||
* | GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code ↵ | Mark Shannon | 2022-12-14 | 1 | -5/+15 |
| | | | | unit. (GH-100223) | ||||
* | gh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer ↵ | Irit Katriel | 2022-12-13 | 1 | -0/+2 |
| | | | | warning) (#100215) | ||||
* | gh-99955: standardize return values of functions in compiler's code-gen ↵ | Irit Katriel | 2022-12-12 | 1 | -760/+694 |
| | | | | (#100010) | ||||
* | gh-99955: standardize return values of functions in assembler and optimizer. ↵ | Irit Katriel | 2022-12-02 | 1 | -42/+54 |
| | | | | (#99956) | ||||
* | GH-99877) | Irit Katriel | 2022-11-30 | 1 | -23/+41 |
| | |||||
* | gh-87092: move all localsplus preparation into separate function called from ↵ | Irit Katriel | 2022-11-30 | 1 | -30/+41 |
| | | | | assembler stage (GH-99869) | ||||
* | gh-99708: fix bug where compiler crashes on if expression with an empty body ↵ | Irit Katriel | 2022-11-24 | 1 | -3/+17 |
| | | | | block (GH-99732) | ||||
* | gh-99537: Use Py_SETREF() function in C code (#99657) | Victor Stinner | 2022-11-22 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | Fix potential race condition in code patterns: * Replace "Py_DECREF(var); var = new;" with "Py_SETREF(var, new);" * Replace "Py_XDECREF(var); var = new;" with "Py_XSETREF(var, new);" * Replace "Py_CLEAR(var); var = new;" with "Py_XSETREF(var, new);" Other changes: * Replace "old = var; var = new; Py_DECREF(var)" with "Py_SETREF(var, new);" * Replace "old = var; var = new; Py_XDECREF(var)" with "Py_XSETREF(var, new);" * And remove the "old" variable. | ||||
* | gh-99300: Replace Py_INCREF() with Py_NewRef() (#99530) | Victor Stinner | 2022-11-16 | 1 | -4/+2 |
| | | | | Replace Py_INCREF() and Py_XINCREF() using a cast with Py_NewRef() and Py_XNewRef(). | ||||
* | gh-87092: expose the compiler's codegen to python for unit tests (GH-99111) | Irit Katriel | 2022-11-14 | 1 | -53/+120 |
| | |||||
* | gh-98762: Fix locations of match sub-patterns (GH-98775) | Irit Katriel | 2022-11-12 | 1 | -129/+116 |
| | |||||
* | gh-99254: remove all unused consts from code objects (GH-99255) | Irit Katriel | 2022-11-11 | 1 | -19/+92 |
| | |||||
* | GH-96421: Insert shim frame on entry to interpreter (GH-96319) | Mark Shannon | 2022-11-10 | 1 | -0/+2 |
| | | | | | | * Adds EXIT_INTERPRETER instruction to exit PyEval_EvalDefault() * Simplifies RETURN_VALUE, YIELD_VALUE and RETURN_GENERATOR instructions as they no longer need to check for entry frames. | ||||
* | gh-99300: Use Py_NewRef() in Python/ directory (#99317) | Victor Stinner | 2022-11-10 | 1 | -50/+25 |
| | | | | | | Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and Py_XNewRef() in C files of the Python/ directory. Update Parser/asdl_c.py to regenerate Python/Python-ast.c. | ||||
* | GH-98686: Get rid of "adaptive" and "quick" instructions (GH-99182) | Brandt Bucher | 2022-11-09 | 1 | -3/+0 |
| | |||||
* | GH-96793: Implement PEP 479 in bytecode. (GH-99006) | Mark Shannon | 2022-11-03 | 1 | -12/+50 |
| | | | | | * Handle converting StopIteration to RuntimeError in bytecode. * Add custom instruction for converting StopIteration into RuntimeError. | ||||
* | gh-87092: remove unused SET_LOC/UNSET_LOC macros (GH-98914) | Irit Katriel | 2022-11-02 | 1 | -73/+6 |
| | |||||
* | gh-87092: do not allocate PyFutureFeatures dynamically (GH-98913) | Irit Katriel | 2022-11-02 | 1 | -12/+10 |
| | |||||
* | gh-98811: use full source location to simplify __future__ imports error ↵ | Irit Katriel | 2022-10-31 | 1 | -30/+32 |
| | | | | checking. This also fixes an incorrect error offset. (GH-98812) | ||||
* | GH-96793: Change `FOR_ITER` to not pop the iterator on exhaustion. (GH-96801) | Mark Shannon | 2022-10-27 | 1 | -2/+5 |
| | | | | Change FOR_ITER to have the same stack effect regardless of whether it branches or not. Performance is unchanged as FOR_ITER (and specialized forms jump over the cleanup code). | ||||
* | gh-98461: Fix location of RETURN_VALUE in async generator bytecode. ↵ | Irit Katriel | 2022-10-25 | 1 | -56/+43 |
| | | | | compiler_jump_if no longer needs a pointer to the loc. (GH-98494) | ||||
* | gh-97912: Avoid quadratic behavior when adding LOAD_FAST_CHECK (GH-97952) | Dennis Sweeney | 2022-10-20 | 1 | -64/+135 |
| | | | | | * The compiler analyzes the usage of the first 64 local variables all at once using bit masks. * Local variables beyond the first 64 are only partially analyzed, achieving linear time. | ||||
* | gh-98461: Fix source location in comprehensions bytecode (GH-98464) | Irit Katriel | 2022-10-20 | 1 | -60/+74 |
| | |||||
* | gh-98398: Fix source locations for 'assert' bytecode (GH-98405) | Irit Katriel | 2022-10-19 | 1 | -8/+10 |
| | |||||
* | gh-98390: Fix source locations of boolean sub-expressions (GH-98396) | Irit Katriel | 2022-10-18 | 1 | -1/+1 |
| | |||||
* | gh-93691: Compiler's code-gen passes location around instead of holding it ↵ | Irit Katriel | 2022-10-17 | 1 | -848/+975 |
| | | | | on the global compiler state (GH-98001) | ||||
* | gh-87092: bring compiler code closer to a preprocessing-opt-assembler ↵ | Irit Katriel | 2022-10-05 | 1 | -39/+49 |
| | | | | organisation (GH-97644) |