summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_compile.py
Commit message (Collapse)AuthorAgeFilesLines
* gh-111123: symtable should visit exception handlers before the else block ↵Irit Katriel2023-10-211-0/+17
| | | | (#111142)
* gh-109889: fix compiler's redundant NOP detection to look past NOPs with no ↵Irit Katriel2023-09-281-0/+5
| | | | lineno when looking for the next instruction's lineno (#109987)
* gh-109823: Adjust labels in compiler when removing an empty basic block ↵Irit Katriel2023-09-251-0/+5
| | | | which is a jump target (#109839)
* gh-109719: Fix missing jump target labels when compiler reorders cold/warm ↵Irit Katriel2023-09-221-0/+11
| | | | blocks (#109734)
* gh-109627: duplicated smalll exit blocks need to be assigned jump target ↵Irit Katriel2023-09-201-0/+9
| | | | labels (#109630)
* gh-109341: Fix crash on compiling invalid AST including TypeAlias (#109349)Jelle Zijlstra2023-09-131-0/+20
|
* gh-109351: Fix crash when compiling AST with invalid NamedExpr (#109352)Jelle Zijlstra2023-09-131-0/+27
|
* gh-109195: fix source location for super load before LOAD_SUPER_ATTR (#109289)Carl Meyer2023-09-111-0/+7
|
* GH-91079: Rename C_RECURSION_LIMIT to Py_C_RECURSION_LIMIT (#108507)Victor Stinner2023-09-081-6/+6
| | | | | | | Symbols of the C API should be prefixed by "Py_" to avoid conflict with existing names in 3rd party C extensions on "#include <Python.h>". test.pythoninfo now logs Py_C_RECURSION_LIMIT constant and other _testcapi and _testinternalcapi constants.
* gh-108416: Mark slow test methods with @requires_resource('cpu') (GH-108421)Serhiy Storchaka2023-09-021-0/+1
| | | | Only mark tests which spend significant system or user time, by itself or in subprocesses.
* gh-107901: Fix missing line number on BACKWARD_JUMP at the end of a for loop ↵Irit Katriel2023-08-211-0/+14
| | | | (#108242)
* gh-105724: Add location information to `assert` errors (GH-105935)Nikita Sobolev2023-08-161-5/+5
|
* GH-107263: Increase C stack limit for most functions, except ↵Mark Shannon2023-08-041-13/+8
| | | | | | `_PyEval_EvalFrameDefault()` (GH-107535) * Set C recursion limit to 1500, set cost of eval loop to 2 frames, and compiler mutliply to 2.
* gh-104635: Add a test case for variables that have a dependency. (gh-106583)Dong-hee Na2023-07-111-0/+9
|
* gh-104615: don't make unsafe swaps in apply_static_swaps (#104620)Carl Meyer2023-05-181-0/+18
|
* gh-97933: (PEP 709) inline list/dict/set comprehensions (#101441)Carl Meyer2023-05-091-18/+6
| | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* GH-100982: Break up COMPARE_AND_BRANCH (GH-102801)Brandt Bucher2023-03-231-1/+1
|
* gh-101951: use textwrap.dedent in compiler tests to make them more readable ↵Irit Katriel2023-02-161-143/+145
| | | | | | | (GH-101950) Fixes #101951. Automerge-Triggered-By: GH:iritkatriel
* gh-101928: fix crash in compiler on multi-line lambda in function call (#101933)penguin_wwy2023-02-161-0/+11
|
* gh-101632: Add the new RETURN_CONST opcode (#101633)penguin_wwy2023-02-071-10/+8
|
* gh-100712: make it possible to disable specialization (for debugging) (#100713)Irit Katriel2023-01-191-1/+3
|
* GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)Mark Shannon2023-01-161-7/+7
|
* GH-100117: Make `co_lines` more efficient (GH-100447)Brandt Bucher2023-01-101-5/+4
|
* gh-99708: fix bug where compiler crashes on if expression with an empty body ↵Irit Katriel2022-11-241-0/+11
| | | | block (GH-99732)
* gh-98762: Fix locations of match sub-patterns (GH-98775)Irit Katriel2022-11-121-1/+95
|
* gh-99254: remove all unused consts from code objects (GH-99255)Irit Katriel2022-11-111-2/+36
|
* gh-94445: add compiler test for another case of excessive stack use (GH-99237)Carl Meyer2022-11-081-0/+7
|
* gh-98461: Fix location of RETURN_VALUE in async generator bytecode. ↵Irit Katriel2022-10-251-1/+1
| | | | compiler_jump_if no longer needs a pointer to the loc. (GH-98494)
* gh-98461: Fix source location in comprehensions bytecode (GH-98464)Irit Katriel2022-10-201-0/+159
|
* gh-98398: Fix source locations for 'assert' bytecode (GH-98405)Irit Katriel2022-10-191-1/+17
|
* gh-98390: Fix source locations of boolean sub-expressions (GH-98396)Irit Katriel2022-10-181-0/+26
|
* gh-98393: os module reject bytes-like, only accept bytes (#98394)Victor Stinner2022-10-181-3/+2
| | | | | The os module and the PyUnicode_FSDecoder() function no longer accept bytes-like paths, like bytearray and memoryview types: only the exact bytes type is accepted for bytes strings.
* gh-87092: bring compiler code closer to a preprocessing-opt-assembler ↵Irit Katriel2022-10-051-1/+13
| | | | organisation (GH-97644)
* GH-91079: Decouple C stack overflow checks from Python recursion checks. ↵Mark Shannon2022-10-051-2/+1
| | | | (GH-96510)
* gh-96670: Raise SyntaxError when parsing NULL bytes (#97594)Pablo Galindo Salgado2022-09-271-4/+4
|
* GH-95921: Fix positions for some chained comparisons (GH-96968)Brandt Bucher2022-09-201-0/+25
|
* gh-95778: CVE-2020-10735: Prevent DoS by very large int() (#96499)Gregory P. Smith2022-09-021-0/+13
| | | | | | | | | | | | | | | | Integer to and from text conversions via CPython's bignum `int` type is not safe against denial of service attacks due to malicious input. Very large input strings with hundred thousands of digits can consume several CPU seconds. This PR comes fresh from a pile of work done in our private PSRT security response team repo. Signed-off-by: Christian Heimes [Red Hat] <christian@python.org> Tons-of-polishing-up-by: Gregory P. Smith [Google] <greg@krypto.org> Reviews via the private PSRT repo via many others (see the NEWS entry in the PR). <!-- gh-issue-number: gh-95778 --> * Issue: gh-95778 <!-- /gh-issue-number --> I wrote up [a one pager for the release managers](https://docs.google.com/document/d/1KjuF_aXlzPUxTK4BMgezGJ2Pn7uevfX7g0_mvgHlL7Y/edit#). Much of that text wound up in the Issue. Backports PRs already exist. See the issue for links.
* gh-96276: suppress SyntaxWarning in test_compile (GH-96277)Irit Katriel2022-08-251-1/+4
|
* GH-95150: Use position and exception tables for code hashing and equality ↵Brandt Bucher2022-08-011-3/+24
| | | | (GH-95509)
* gh-93678: Address stack exhaustion on WASI (GH-95296)Christian Heimes2022-07-261-0/+2
|
* GH-94036: Fix more attribute location quirks (GH-95028)Brandt Bucher2022-07-221-0/+60
|
* GH-91409: Don't overwrite valid locations with NOP locations (GH-95067)Brandt Bucher2022-07-201-0/+38
|
* GH-94694: Fix column offsets for multi-line method lookups (GH-94697)Brandt Bucher2022-07-101-0/+21
|
* gh-94485: Set line number of module's RESUME instruction to 0, as specified ↵Irit Katriel2022-07-051-3/+5
| | | | | by PEP 626 (GH-94552) Co-authored-by: Mark Shannon <mark@hotpy.org>
* GH-94329: Don't raise on excessive stack consumption (GH-94421)Mark Shannon2022-06-301-0/+6
|
* GH-94163: Add BINARY_SLICE and STORE_SLICE instructions. (GH-94168)Mark Shannon2022-06-271-0/+36
|
* gh-90473: Decrease recursion limit and skip tests on WASI (GH-92803)Christian Heimes2022-05-191-1/+3
|
* GH-90690: Remove `PRECALL` instruction (GH-92925)Mark Shannon2022-05-191-1/+1
|
* GH-88116: Use a compact format to represent end line and column offsets. ↵Mark Shannon2022-04-211-14/+19
| | | | | | | | | | | | (GH-91666) * Stores all location info in linetable to conform to PEP 626. * Remove column table from code objects. * Remove end-line table from code objects. * Document new location table format
* bpo-46841: Quicken code in-place (GH-31888)Brandt Bucher2022-03-211-2/+1
| | | | | | | | | | | | | | | | | | | * Moves the bytecode to the end of the corresponding PyCodeObject, and quickens it in-place. * Removes the almost-always-unused co_varnames, co_freevars, and co_cellvars member caches * _PyOpcode_Deopt is a new mapping from all opcodes to their un-quickened forms. * _PyOpcode_InlineCacheEntries is renamed to _PyOpcode_Caches * _Py_IncrementCountAndMaybeQuicken is renamed to _PyCode_Warmup * _Py_Quicken is renamed to _PyCode_Quicken * _co_quickened is renamed to _co_code_adaptive (and is now a read-only memoryview). * Do not emit unused nonzero opargs anymore in the compiler.