summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_generated_cases.py
Commit message (Collapse)AuthorAgeFilesLines
* [3.13] GH-122155: Fix cases generator to correctly compute 'peek' offset for ↵Mark Shannon2024-07-261-0/+50
| | | | error handling (GH-122158) (GH-122174)
* gh-115419: Change default sym to not_null (GH-116562)Ken Jin2024-03-131-2/+2
|
* gh-115999: Disable the specializing adaptive interpreter in free-threaded ↵Brett Simmers2024-03-011-0/+8
| | | | | builds (#116013) For now, disable all specialization when the GIL might be disabled.
* gh-115816: Generate calls to sym_new_const() etc. without _Py_uop prefix ↵Guido van Rossum2024-02-291-2/+2
| | | | | | | | | (#116077) This was left behind by GH-115987. Basically a lot of diffs like this: ``` - res = _Py_uop_sym_new_unknown(ctx); + res = sym_new_unknown(ctx); ```
* GH-115816: Assorted naming and formatting changes to improve ↵Mark Shannon2024-02-271-6/+6
| | | | | | | maintainability. (GH-115987) * Rename _Py_UOpsAbstractInterpContext to _Py_UOpsContext and _Py_UOpsSymType to _Py_UopsSymbol. * #define shortened form of _Py_uop_... names for improved readability.
* GH-115816: Make tier2 optimizer symbols testable, and add a few tests. ↵Mark Shannon2024-02-271-2/+2
| | | | (GH-115953)
* Rename tier 2 redundancy eliminator to optimizer (#115888)Guido van Rossum2024-02-261-2/+2
| | | | The original name is just too much of a mouthful.
* GH-112354: Initial implementation of warm up on exits and trace-stitching ↵Mark Shannon2024-02-201-0/+11
| | | | (GH-114142)
* gh-114058: Foundations of the Tier2 redundancy eliminator (GH-115085)Ken Jin2024-02-131-0/+153
| | | | | | | --------- Co-authored-by: Mark Shannon <9448417+markshannon@users.noreply.github.com> Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com> Co-authored-by: Guido van Rossum <gvanrossum@users.noreply.github.com>
* gh-113710: Add types to the interpreter DSL (#113711)Ken Jin2024-01-121-12/+13
| | | | Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* GH-111485: Delete the old generator code. (GH-113321)Mark Shannon2023-12-211-46/+31
|
* GH-111485: Break up instructions with unused cache entries into component ↵Mark Shannon2023-12-181-0/+4
| | | | micro-ops (GH-113169)
* GH-111485: Test the new cases generator (GH-113252)Mark Shannon2023-12-181-50/+64
|
* gh-112519: Make it possible to specify instruction flags for pseudo ↵Irit Katriel2023-11-301-0/+38
| | | | instructions in bytecodes.c (#112520)
* GH-111485: Sort cases in the case generator output (GH-112315)Mark Shannon2023-11-221-13/+13
|
* GH-111485: Allow arbitrary annotations on instructions and micro-ops. ↵Mark Shannon2023-11-071-0/+43
| | | | (GH-111697)
* gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)Guido van Rossum2023-11-011-3/+5
| | | | | | | | | | | - There is no longer a separate Python/executor.c file. - Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`, you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`). - The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files. - In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`. - On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB. - **Beware!** This changes the env vars to enable uops and their debugging to `PYTHON_UOPS` and `PYTHON_LLTRACE`.
* GH-111485: Increment `next_instr` consistently at the start of the ↵Mark Shannon2023-10-311-9/+81
| | | | instruction. (GH-111486)
* gh-109287: fix overrides in cases generator (#110419)Carl Meyer2023-10-051-0/+35
|
* gh-109979: Auto-generate the target for DEOPT_IF() (#110193)Guido van Rossum2023-10-031-2/+9
| | | | | | | | | | | | | | | | In Python/bytecodes.c, you now write ``` DEOPT_IF(condition); ``` The code generator expands this to ``` DEOPT_IF(condition, opcode); ``` where `opcode` is the name of the unspecialized instruction. This works inside macro expansions too. **CAVEAT:** The entire `DEOPT_IF(condition)` statement must be on a single line. If it isn't, the substitution will fail; an error will be printed by the code generator and the C compiler will report some errors.
* gh-109295: Skip test_generated_cases if different mount drives (#109308)Victor Stinner2023-09-121-1/+21
| | | | | | On Windows, skip the test if the current working directory and the Python source code directory have different mount drives. It happens if the temporary directory is on a different mount drive than the Python source code.
* gh-103186: Make test_generated_cases less noisy by default (GH-109100)Serhiy Storchaka2023-09-071-5/+14
| | | Print additional details only when tests are run with -vv.
* gh-106581: Support multiple uops pushing new values (#108895)Guido van Rossum2023-09-051-0/+30
| | | | Also avoid the need for the awkward .clone() call in the argument to mgr.adjust_inverse() and mgr.adjust().
* gh-106812: Refactor cases_generator to allow uops with array stack effects ↵Guido van Rossum2023-08-041-77/+81
| | | | | (#107564) Introducing a new file, stacking.py, that takes over several responsibilities related to symbolic evaluation of push/pop operations, with more generality.
* Thoroughly refactor the cases generator (#107151)Guido van Rossum2023-07-241-23/+19
| | | | | | | | | | | | | | This mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here. - analysis.py: `Analyzer` etc. - instructions.py: `Instruction` etc. - flags.py: `InstructionFlags`, `variable_used`, `variable_used_unspecialized` - formatting.py: `Formatter` etc. - Rename parser.py to parsing.py, to avoid conflict with stdlib parser.py - Blackify most things - Fix most mypy errors - Remove output filenames from Generator state, add them to `write_instructions()` etc. - Fix unit tests
* gh-105540: Convert `pytest` tests of `cases_generator` to regular tests ↵Nikita Sobolev2023-07-161-0/+537
(#106713)