summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_dis.py
Commit message (Collapse)AuthorAgeFilesLines
* gh-99254: remove all unused consts from code objects (GH-99255)Irit Katriel2022-11-111-11/+11
|
* GH-98686: Get rid of "adaptive" and "quick" instructions (GH-99182)Brandt Bucher2022-11-091-2/+2
|
* GH-96793: Implement PEP 479 in bytecode. (GH-99006)Mark Shannon2022-11-031-1/+3
| | | | | * Handle converting StopIteration to RuntimeError in bytecode. * Add custom instruction for converting StopIteration into RuntimeError.
* GH-98686: Quicken everything (GH-98687)Brandt Bucher2022-11-021-12/+11
|
* GH-96793: Change `FOR_ITER` to not pop the iterator on exhaustion. (GH-96801)Mark Shannon2022-10-271-92/+96
| | | | 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-92886: make test_ast pass with -O (assertions off) (GH-98058)Irit Katriel2022-10-071-1/+1
| | | | | -O does not strip docstrings. Automerge-Triggered-By: GH:iritkatriel
* gh-87092: reduce redundancy and repetition in compiler's optimization stage ↵Irit Katriel2022-09-131-7/+20
| | | | (GH-96713)
* gh-93554: Conditional jump opcodes only jump forward (GH-96318)Irit Katriel2022-09-011-106/+100
|
* GH-90997: Wrap yield from/await in a virtual try/except StopIteration (GH-96010)Brandt Bucher2022-08-191-6/+11
|
* GH-95113: Don't use EXTENDED_ARG_QUICK in unquickened code (GH-95121)Brandt Bucher2022-07-221-1/+1
|
* gh-92228: disable the compiler's 'small exit block inlining' optimization ↵Irit Katriel2022-07-071-20/+7
| | | | | | | 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 Katriel2022-07-051-9/+9
| | | | | by PEP 626 (GH-94552) Co-authored-by: Mark Shannon <mark@hotpy.org>
* gh-94216: add pseudo instructions to the dis/opcodes modules (GH-94241)Irit Katriel2022-07-011-1/+1
|
* GH-91432: Specialize FOR_ITER (GH-91713)Dennis Sweeney2022-06-211-111/+111
| | | | | * Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations. * Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints.
* GH-91389: Fix dis position information for CACHEs (GH-93663)Brandt Bucher2022-06-161-2/+34
|
* GH-93429: Merge `LOAD_METHOD` back into `LOAD_ATTR` (GH-93430)Ken Jin2022-06-141-3/+3
|
* GH-93621: reorder code in with/async-with exception exit path to reduce the ↵Irit Katriel2022-06-101-8/+159
| | | | size of the exception table (GH-93622)
* Shrink the LOAD_METHOD cache by one codeunit. (#93537)Mark Shannon2022-06-071-1/+1
|
* gh-92932: dis._unpack_opargs should handle EXTENDED_ARG_QUICK (gh-92945)Dong-hee Na2022-06-031-0/+21
|
* gh-93356: Lay out exception handling code at end of code unit (GH-92769)Irit Katriel2022-06-021-43/+42
|
* gh-93143: Avoid NULL check in LOAD_FAST based on analysis in the compiler ↵Dennis Sweeney2022-05-311-2/+2
| | | | (GH-93144)
* gh-93223: More aggressive Jump-To-Jump elimination (GH-93229)Dennis Sweeney2022-05-271-92/+91
|
* GH-90690: Remove `PRECALL` instruction (GH-92925)Mark Shannon2022-05-191-179/+152
|
* gh-92619: Fix bug where the compiler duplicates exit blocks unnecessarily ↵Irit Katriel2022-05-101-15/+7
| | | | (GH-92620)
* gh-90997: Show cached inline values in `dis` output (#92360)Brandt Bucher2022-05-061-0/+31
|
* gh-91276: revert the increase of dis output width (GH-92126)Irit Katriel2022-05-021-253/+265
|
* GH-88116: Use a compact format to represent end line and column offsets. ↵Mark Shannon2022-04-211-18/+5
| | | | | | | | | | | | (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
* gh-90997: bpo-46841: Disassembly of quickened code (GH-32099)penguin_wwy2022-04-191-1/+140
|
* gh-91276: make space for longer opcodes in dis output (GH-91444)Irit Katriel2022-04-121-227/+215
|
* bpo-47120: make POP_JUMP_IF_TRUE/FALSE/NONE/NOT_NONE relative (GH-32400)Irit Katriel2022-04-111-10/+18
|
* bpo-47120: make JUMP_NO_INTERRUPT relative (GH-32221)Irit Katriel2022-04-051-1/+2
|
* bpo-47186: Replace JUMP_IF_NOT_EXC_MATCH by CHECK_EXC_MATCH + jump (GH-32231)Irit Katriel2022-04-011-42/+43
|
* bpo-47120: Replace the JUMP_ABSOLUTE opcode by the relative JUMP_BACKWARD ↵Irit Katriel2022-03-311-6/+6
| | | | (GH-32115)
* Use low bit of LOAD_GLOBAL's oparg to indicate whether it should push an ↵Mark Shannon2022-03-171-185/+170
| | | | additional NULL. (GH-31933)
* bpo-46841: Use inline caching for calls (GH-31709)Brandt Bucher2022-03-071-148/+147
|
* bpo-46841: Use inline caching for attribute accesses (GH-31640)Brandt Bucher2022-03-031-1/+1
|
* bpo-46841: Use inline caching for `COMPARE_OP` (GH-31622)Brandt Bucher2022-03-011-123/+123
|
* bpo-46841: Move the cache for `LOAD_GLOBAL` inline. (GH-31575)Mark Shannon2022-02-281-172/+172
|
* bpo-46841: Use *inline* caching for `BINARY_OP` (GH-31543)Brandt Bucher2022-02-251-105/+105
|
* bpo-46329: Streamline calling sequence a bit. (GH-31465)Mark Shannon2022-02-211-19/+19
| | | | | | | | | | | | | | * Move handling of bound-methods to PRECALL. * Remove call_shape.postcall_shrink * Remove call_shape.callable * Remove call_shape.callable. Change CALL oparg to match PRECALL oparg. * Move KW_NAMES before PRECALL. * Update opcode docs in dis.rst
* bpo-46329: Change calling sequence (again) (GH-31373)Mark Shannon2022-02-181-181/+204
| | | | * Change calling sequence: Add PUSH_NULL. Merge PRECALL_FUNCTION and PRECALL_METHOD into PRECALL.
* bpo-46724: Fix dis support for overflow args (GH-31285)Saul Shanabrook2022-02-181-5/+28
|
* Remove offsets from expected output in test.test_dis (GH-31369)Mark Shannon2022-02-161-308/+360
|
* bpo-46329: Split calls into precall and call instructions. (GH-30855)Mark Shannon2022-01-281-190/+217
| | | | | | | | | | | | | | * Add PRECALL_FUNCTION opcode. * Move 'call shape' varaibles into struct. * Replace CALL_NO_KW and CALL_KW with KW_NAMES and CALL instructions. * Specialize for builtin methods taking using the METH_FASTCALL | METH_KEYWORDS protocol. * Allow kwnames for specialized calls to builtin types. * Specialize calls to tuple(arg) and str(arg).
* bpo-46458: emit code for else of a try block immediately after the try body ↵Irit Katriel2022-01-271-68/+60
| | | | (GH-30751)
* bpo-46528: Simplify the VM's stack manipulations (GH-30902)Brandt Bucher2022-01-261-2/+2
|
* bpo-45578: add a test case for `dis.findlabels` (GH-30058)Nikita Sobolev2022-01-261-0/+10
|
* bpo-46422: use `dis.Positions` in `dis.Instruction` (GH-30716)Nikita Sobolev2022-01-241-10/+18
| | | Co-authored-by: Batuhan Taskaya <isidentical@gmail.com>
* bpo-46344: Fix trace bug in else of try and try-star blocks (GH-30544)Irit Katriel2022-01-131-24/+32
|
* bpo-45923: Handle call events in bytecode (GH-30364)Mark Shannon2022-01-061-405/+475
| | | | * Add a RESUME instruction to handle "call" events.