Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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) | ||||
* | GH-95921: Fix positions for some chained comparisons (GH-96968) | Brandt Bucher | 2022-09-20 | 1 | -0/+1 |
| | |||||
* | gh-87092: in compiler, move the detection of exception handlers before the ↵ | Irit Katriel | 2022-09-20 | 1 | -16/+32 |
| | | | | CFG optimization stage (GH-96935) | ||||
* | gh-87092: reduce redundancy and repetition in compiler's optimization stage ↵ | Irit Katriel | 2022-09-13 | 1 | -90/+63 |
| | | | | (GH-96713) | ||||
* | gh-88057: in compile.c, assertion that stackdepth is alway >=0 is missing in ↵ | Irit Katriel | 2022-09-07 | 1 | -0/+1 |
| | | | | one place (GH-96513) | ||||
* | gh-93554: Conditional jump opcodes only jump forward (GH-96318) | Irit Katriel | 2022-09-01 | 1 | -72/+82 |
| | |||||
* | gh-93678: apply remove_redundant_jumps in optimize_cfg (GH-96274) | Irit Katriel | 2022-09-01 | 1 | -11/+33 |
| | |||||
* | gh-87092: use basicblock_last_instr consistently in the compiler (GH-96243) | Irit Katriel | 2022-08-24 | 1 | -29/+32 |
| | |||||
* | gh-93678: add _testinternalcapi.optimize_cfg() and test utils for compiler ↵ | Irit Katriel | 2022-08-24 | 1 | -48/+210 |
| | | | | optimization unit tests (GH-96007) | ||||
* | GH-90997: Wrap yield from/await in a virtual try/except StopIteration (GH-96010) | Brandt Bucher | 2022-08-19 | 1 | -6/+13 |
| | |||||
* | gh-95922: compiler's eliminate_empty_basic_blocks ignores the last block of ↵ | Irit Katriel | 2022-08-12 | 1 | -8/+5 |
| | | | | the compilation unit (GH-95924) | ||||
* | gh-87092: compiler's codegen stage uses int jump target labels, and the ↵ | Irit Katriel | 2022-08-11 | 1 | -70/+52 |
| | | | | target pointer is only calculated just before optimization stage (GH-95655) | ||||
* | gh-87092: create a 'jump target label' abstraction so that the compiler's ↵ | Irit Katriel | 2022-08-04 | 1 | -354/+385 |
| | | | | codegen stage does not work directly with basic blocks (GH-95398) | ||||
* | gh-93678: extract 'struct cfg_builder' from the compiler so that the CFG can ↵ | Irit Katriel | 2022-07-26 | 1 | -120/+113 |
| | | | | be manipulated directly (GH-95107) | ||||
* | GH-94036: Fix more attribute location quirks (GH-95028) | Brandt Bucher | 2022-07-22 | 1 | -20/+23 |
| | |||||
* | GH-95113: Don't use EXTENDED_ARG_QUICK in unquickened code (GH-95121) | Brandt Bucher | 2022-07-22 | 1 | -3/+3 |
| | |||||
* | GH-91409: Don't overwrite valid locations with NOP locations (GH-95067) | Brandt Bucher | 2022-07-20 | 1 | -1/+4 |
| | |||||
* | GH-94851: fix immortal objects refcounting in compiler (gh-95040) | Kumar Aditya | 2022-07-20 | 1 | -1/+1 |
| | |||||
* | gh-93678: move normalize_basic_block and extend_block call into optimize_cfg ↵ | Irit Katriel | 2022-07-19 | 1 | -31/+26 |
| | | | | (GH-95002) | ||||
* | GH-94694: Fix column offsets for multi-line method lookups (GH-94697) | Brandt Bucher | 2022-07-10 | 1 | -2/+9 |
| | |||||
* | gh-92228: disable the compiler's 'small exit block inlining' optimization ↵ | Irit Katriel | 2022-07-07 | 1 | -0/+14 |
| | | | | | | | for blocks that have a line number (GH-94592) Inlining of code that corresponds to source code lines, can make it hard to distinguish later between code which is only reachable from except handlers, and that which is reachable in normal control flow. This caused problems with the debugger's jump feature. This PR turns off the inlining optimisation for code which has line numbers. We still inline things like the implicit "return None". | ||||
* | gh-94485: Set line number of module's RESUME instruction to 0, as specified ↵ | Irit Katriel | 2022-07-05 | 1 | -1/+4 |
| | | | | | by PEP 626 (GH-94552) Co-authored-by: Mark Shannon <mark@hotpy.org> |