aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/dis.py
Commit message (Collapse)AuthorAge
* gh-130704: Strength reduce `LOAD_FAST{_LOAD_FAST}` (#130708)mpage2025-04-01
| | | Optimize `LOAD_FAST` opcodes into faster versions that load borrowed references onto the operand stack when we can prove that the lifetime of the local outlives the lifetime of the temporary that is loaded onto the stack.
* GH-128534: Fix behavior of branch monitoring for `async for` (GH-130847)Mark Shannon2025-03-07
| | | * Both branches in a pair now have a common source and are included in co_branches
* GH-90916: Add helper function to dis.Instruction and use it to reduce churn ↵Mark Shannon2025-03-04
| | | | in test_dis (GH-130643)
* Revert "GH-128914: Remove conditional stack effects from `bytecodes.c` and ↵Sam Gross2025-01-23
| | | | | | | the code generators (GH-128918)" (GH-129202) The commit introduced a ~2.5-3% regression in the free threading build. This reverts commit ab61d3f4303d14a413bc9ae6557c730ffdf7579e.
* GH-128914: Remove conditional stack effects from `bytecodes.c` and the code ↵Mark Shannon2025-01-20
| | | | generators (GH-128918)
* gh-127274: Defer nested methods (#128012)mpage2024-12-19
| | | | | | | Methods (functions defined in class scope) are likely to be cleaned up by the GC anyway. Add a new code flag, `CO_METHOD`, that is set for functions defined in a class scope. Use that when deciding to defer functions.
* gh-127637: add tests for `dis` command-line interface (#127759)Bénédikt Tran2024-12-09
|
* gh-127413: allow to show specialized bytecode via `dis` CLI (#127414)Bénédikt Tran2024-12-05
|
* gh-126072: do not add `None` to `co_consts` if there is no docstring (GH-126101)Xuanteng Huang2024-10-30
|
* GH-125837: Split `LOAD_CONST` into three. (GH-125972)Mark Shannon2024-10-29
| | | | | | | | * Add LOAD_CONST_IMMORTAL opcode * Add LOAD_SMALL_INT opcode * Remove RETURN_CONST opcode
* GH-125868: Fix STORE_ATTR_WITH_HINT specialization (GH-125876)Mark Shannon2024-10-24
|
* Add "annotate" SET_FUNCTION_ATTRIBUTE bit to dis. (#124566)larryhastings2024-09-25
|
* gh-123363: Show string value of CONTAINS_OP oparg in dis (#123387)Alexandr Mitin2024-08-28
| | | Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-123340: Show string value of `IS_OP` oparg in `dis` (#123348)sobolevn2024-08-26
|
* gh-123165: make `dis` functions render positions on demand (#123168)Bénédikt Tran2024-08-21
|
* gh-120780: Show attribute name for LOAD_SPECIAL in dis output (#120781)Jelle Zijlstra2024-06-20
|
* gh-119180: Add LOAD_COMMON_CONSTANT opcode (#119321)Jelle Zijlstra2024-05-22
| | | | | | | | | | The PEP 649 implementation will require a way to load NotImplementedError from the bytecode. @markshannon suggested implementing this by converting LOAD_ASSERTION_ERROR into a more general mechanism for loading constants. This PR adds this new opcode. I will work on the rest of the implementation of the PEP separately. Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* gh-118335: Configure Tier 2 interpreter at build time (#118339)Guido van Rossum2024-04-30
| | | | | | | | | | | | | | | | | | | | | | The code for Tier 2 is now only compiled when configured with `--enable-experimental-jit[=yes|interpreter]`. We drop support for `PYTHON_UOPS` and -`Xuops`, but you can disable the interpreter or JIT at runtime by setting `PYTHON_JIT=0`. You can also build it without enabling it by default using `--enable-experimental-jit=yes-off`; enable with `PYTHON_JIT=1`. On Windows, the `build.bat` script supports `--experimental-jit`, `--experimental-jit-off`, `--experimental-interpreter`. In the C code, `_Py_JIT` is defined as before when the JIT is enabled; the new variable `_Py_TIER2` is defined when the JIT *or* the interpreter is enabled. It is actually a bitmask: 1: JIT; 2: default-off; 4: interpreter.
* gh-112383: teach dis how to interpret ENTER_EXECUTOR (#117171)Irit Katriel2024-03-23
|
* gh-112720: make it easier to subclass and modify dis.ArgResolver's jump arg ↵Irit Katriel2024-02-16
| | | | resolution (#115564)
* gh-58032: Do not use argparse.FileType in module CLIs and scripts (GH-113649)Serhiy Storchaka2024-01-10
| | | | | Open and close files manually. It prevents from leaking files, preliminary creation of output files, and accidental closing of stdin and stdout.
* gh-112720: Move dis's cache output code to the Formatter, labels lookup to ↵Irit Katriel2023-12-15
| | | | the arg_resolver. Reduce the number of parameters passed around. (#113108)
* gh-112962: in dis module, put cache information in the Instruction instead ↵Irit Katriel2023-12-13
| | | | of creating fake Instructions to represent it (#113016)
* gh-112720: Move instruction formatting from the dis.Instruction class to a ↵Irit Katriel2023-12-09
| | | | new class dis.InstructionFormatter. Add the ArgResolver class. (#112722)
* gh-112620: Fix dis error on show_cache with labels (#112621)Irit Katriel2023-12-03
|
* gh-112355: fix calculation of jump target of ENTER_EXECUTOR in dis (#112377)Irit Katriel2023-11-24
|
* gh-112137: change dis output to show no-lineno as -- instead of None (#112335)Irit Katriel2023-11-23
|
* gh-112137: change dis output to display labels instead of offsets (#112138)Irit Katriel2023-11-22
|
* gh-111969: refactor to make it easier to construct a dis.Instruction object ↵Irit Katriel2023-11-12
| | | | (#111970)
* gh-108826: Document `dis` module CLI and rename `_test` function to `main` ↵Radislav Chugunov2023-10-10
| | | | | | | (#108827) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* Add --inline-caches flag to dis command line (#110249)Guido van Rossum2023-10-03
|
* gh-107932: Fix dis module for bytecode that does not have an associated ↵Corvin2023-08-25
| | | | source line (GH-107988)
* gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵Irit Katriel2023-08-16
| | | | opcode.py (#107971)
* GH-105848: Simplify the arrangement of CALL's stack (GH-107788)Brandt Bucher2023-08-09
|
* gh-105481: remove dependency of _inline_cache_entries on opname (#107339)Irit Katriel2023-07-27
|
* GH-104584: Miscellaneous fixes for -Xuops (GH-106908)Brandt Bucher2023-07-20
|
* GH-106008: Make implicit boolean conversions explicit (GH-106003)Brandt Bucher2023-06-29
|
* GH-77273: Better bytecodes for f-strings (GH-6132)Mark Shannon2023-06-14
|
* GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE ↵Mark Shannon2023-06-13
| | | | (GH-105680)
* gh-102676: Add more convenience properties to `dis.Instruction` (#103969)Tomas R2023-06-11
| | | | | | | | Adds start_offset, cache_offset, end_offset, baseopcode, baseopname, jump_target and oparg to dis.Instruction. Also slightly improves the disassembly output by allowing opnames to overflow into the space reserved for opargs.
* GH-105229: Replace some superinstructions with single instruction ↵Mark Shannon2023-06-05
| | | | equivalent. (GH-105230)
* GH-103963: Make dis display names of args for intrinsics opcodes (#104029)Juhi Chandalia2023-05-02
|
* GH-99944: Make dis display the value of oparg of KW_NAMES (#103856)Juhi Chandalia2023-04-26
| | | | Co-authored-by: chilaxan <chilaxan@gmail.com>
* gh-87729: add LOAD_SUPER_ATTR instruction for faster super() (#103497)Carl Meyer2023-04-24
| | | | | This speeds up `super()` (by around 85%, for a simple one-level `super().meth()` microbenchmark) by avoiding allocation of a new single-use `super()` object on each use.
* gh-102114: Make dis print more concise tracebacks for syntax errors in str ↵chgnrdv2023-04-15
| | | | inputs (#102115)
* gh-103046: Display current line correctly for `dis.disco()` with CACHE ↵gaogaotiantian2023-03-27
| | | | entries (#103047)
* gh-102778: Add sys.last_exc, deprecate sys.last_type, ↵Irit Katriel2023-03-18
| | | | sys.last_value,sys.last_traceback (#102779)
* GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵Mark Shannon2023-02-13
| | | | coroutines. (GH-101788)
* gh-101632: Add the new RETURN_CONST opcode (#101633)penguin_wwy2023-02-07
|
* GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924)Mark Shannon2023-01-11
|