Miss Islington (bot)
e493792612
gh-92886: make test_ast pass with -O (assertions off) (GH-98058)
...
-O does not strip docstrings.
Automerge-Triggered-By: GH:iritkatriel
(cherry picked from commit 27ce45d8e1
)
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2022-10-07 22:02:38 -07:00
Brandt Bucher
5a48ab01e9
[3.11] GH-95113: Don't use EXTENDED_ARG_QUICK in unquickened code (GH-95121) (GH-95143)
...
(cherry picked from commit e402b26b7f
)
2022-07-22 11:56:10 -07:00
Christian Heimes
74c953d396
[3.11] gh-92228: disable the compiler's 'small exit block inlining' optimization for blocks that have a line number (GH-94592) (GH-94643)
...
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"..
(cherry picked from commit bde06e1b83
)
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2022-07-07 03:10:32 -07:00
Łukasz Langa
1bfe83a114
[3.11] gh-94485: Set line number of module's RESUME instruction to 0 as specified by PEP 626 (GH-94552) (GH-94562)
...
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Mark Shannon <mark@hotpy.org>
(cherry picked from commit 324d01944d
)
2022-07-05 16:01:24 +02:00
Brandt Bucher
05d83a706c
GH-91389: Fix dis position information for CACHEs (GH-93663) (GH-93921)
...
(cherry picked from commit f8e576be0a
)
2022-06-17 10:26:20 -07:00
Miss Islington (bot)
e798f698e5
gh-92932: dis._unpack_opargs should handle EXTENDED_ARG_QUICK (gh-92945)
...
(cherry picked from commit b013804134
)
Co-authored-by: Dong-hee Na <donghee.na@python.org>
2022-06-02 20:02:55 -07:00
Miss Islington (bot)
6a17cdebe9
gh-92619: Fix bug where the compiler duplicates exit blocks unnecessarily (GH-92620) (GH-92621)
...
(cherry picked from commit 7c6b7ade8d
)
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2022-05-10 22:01:17 +01:00
Brandt Bucher
93a666b5a5
gh-90997: Show cached inline values in dis
output ( #92360 )
2022-05-06 15:18:09 +01:00
Irit Katriel
84b986ba10
gh-91276: revert the increase of dis output width (GH-92126)
2022-05-02 16:51:17 +01:00
Mark Shannon
944fffee89
GH-88116: Use a compact format to represent end line and column offsets. (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
2022-04-21 16:10:37 +01:00
penguin_wwy
e590379197
gh-90997: bpo-46841: Disassembly of quickened code (GH-32099)
2022-04-19 09:45:08 +01:00
Irit Katriel
e44f988b26
gh-91276: make space for longer opcodes in dis output (GH-91444)
2022-04-12 14:35:56 +01:00
Irit Katriel
dd207a6ac5
bpo-47120: make POP_JUMP_IF_TRUE/FALSE/NONE/NOT_NONE relative (GH-32400)
2022-04-11 10:40:24 +01:00
Irit Katriel
0aa8d5cbd8
bpo-47120: make JUMP_NO_INTERRUPT relative (GH-32221)
2022-04-05 12:49:08 +01:00
Irit Katriel
04e07c258f
bpo-47186: Replace JUMP_IF_NOT_EXC_MATCH by CHECK_EXC_MATCH + jump (GH-32231)
2022-04-01 13:59:38 +01:00
Irit Katriel
a00518d9ad
bpo-47120: Replace the JUMP_ABSOLUTE opcode by the relative JUMP_BACKWARD (GH-32115)
2022-03-31 14:14:15 +01:00
Mark Shannon
3011a097bd
Use low bit of LOAD_GLOBAL's oparg to indicate whether it should push an additional NULL. (GH-31933)
2022-03-17 16:14:57 +00:00
Brandt Bucher
f193631387
bpo-46841: Use inline caching for calls (GH-31709)
2022-03-07 11:45:00 -08:00
Brandt Bucher
05a8bc1c94
bpo-46841: Use inline caching for attribute accesses (GH-31640)
2022-03-03 15:31:00 -08:00
Brandt Bucher
7820a5897e
bpo-46841: Use inline caching for COMPARE_OP
(GH-31622)
2022-03-01 13:53:13 +00:00
Mark Shannon
4558af5a8f
bpo-46841: Move the cache for LOAD_GLOBAL
inline. (GH-31575)
2022-02-28 12:56:29 +00:00
Brandt Bucher
0f41aac109
bpo-46841: Use *inline* caching for BINARY_OP
(GH-31543)
2022-02-25 12:11:34 +00:00
Mark Shannon
59585d6b2e
bpo-46329: Streamline calling sequence a bit. (GH-31465)
...
* 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
2022-02-21 18:26:47 +00:00
Mark Shannon
cf345e945f
bpo-46329: Change calling sequence (again) (GH-31373)
...
* Change calling sequence: Add PUSH_NULL. Merge PRECALL_FUNCTION and PRECALL_METHOD into PRECALL.
2022-02-18 17:19:08 +00:00
Saul Shanabrook
c3ce7781e3
bpo-46724: Fix dis support for overflow args (GH-31285)
2022-02-18 09:56:23 +00:00
Mark Shannon
3954fcb83f
Remove offsets from expected output in test.test_dis (GH-31369)
2022-02-16 12:19:09 +00:00
Mark Shannon
89fd7c3452
bpo-46329: Split calls into precall and call instructions. (GH-30855)
...
* 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).
2022-01-28 12:42:30 +00:00
Irit Katriel
3d2ce34716
bpo-46458: emit code for else of a try block immediately after the try body (GH-30751)
2022-01-27 13:40:44 +00:00
Brandt Bucher
8548366864
bpo-46528: Simplify the VM's stack manipulations (GH-30902)
2022-01-26 12:47:45 -08:00
Nikita Sobolev
84f093918a
bpo-45578: add a test case for dis.findlabels
(GH-30058)
2022-01-26 19:05:35 +09:00
Nikita Sobolev
58f3d98098
bpo-46422: use dis.Positions
in dis.Instruction
(GH-30716)
...
Co-authored-by: Batuhan Taskaya <isidentical@gmail.com>
2022-01-24 14:09:20 +03:00
Irit Katriel
9c2ebb906d
bpo-46344: Fix trace bug in else of try and try-star blocks (GH-30544)
2022-01-13 12:34:38 +00:00
Mark Shannon
e028ae99ec
bpo-45923: Handle call events in bytecode (GH-30364)
...
* Add a RESUME instruction to handle "call" events.
2022-01-06 13:09:25 +00:00
Irit Katriel
a94461d718
bpo-46202: Remove opcode POP_EXCEPT_AND_RERAISE (GH-30302)
...
* bpo-46202: remove opcode POP_EXCEPT_AND_RERAISE
* do not assume that an exception group is truthy
2022-01-04 10:37:12 +00:00
Irit Katriel
396b58345f
bpo-45711: Remove type and traceback from exc_info (GH-30122)
...
* Do not PUSH/POP traceback or type to the stack as part of exc_info
* Remove exc_traceback and exc_type from _PyErr_StackItem
* Add to what's new, because this change breaks things like Cython
2021-12-17 14:46:22 +00:00
Mark Shannon
9f8f45144b
bpo-44525: Split calls into PRECALL and CALL (GH-30011)
...
* Add 3 new opcodes for calls: PRECALL_METHOD, CALL_NO_KW, CALL_KW.
* Update specialization to handle new CALL opcodes.
* Specialize call to method descriptors.
* Remove old CALL opcodes: CALL_FUNCTION, CALL_METHOD, CALL_METHOD_KW, CALL_FUNCTION_KW.
2021-12-14 18:22:44 +00:00
Irit Katriel
d60457a667
bpo-45292: [PEP-654] add except* (GH-29581)
2021-12-14 16:48:15 +00:00
Mark Shannon
135cabd328
bpo-44525: Copy free variables in bytecode to allow calls to inner functions to be specialized (GH-29595)
...
* Make internal APIs that take PyFrameConstructor take a PyFunctionObject instead.
* Add reference to function to frame, borrow references to builtins and globals.
* Add COPY_FREE_VARS instruction to allow specialization of calls to inner functions.
2021-11-23 09:53:24 +00:00
Brandt Bucher
9178f533ff
bpo-45636: Merge all numeric operators (GH-29482)
2021-11-10 22:56:22 -08:00
Irit Katriel
4cdeee5978
bpo-45711: remove unnecessary DUP_TOP and POP in exception handling (GH-29495)
2021-11-10 18:08:28 +00:00
Irit Katriel
cb414cf0e2
bpo-45757: Fix bug where dis produced an incorrect oparg on EXTENDED_ARG before a no-arg opcode (GH-29480)
2021-11-09 20:07:38 +00:00
Nikita Sobolev
e346f19681
bpo-45578: add tests for dis.distb
(GH-29332)
2021-11-03 14:55:42 +01:00
Mark Shannon
f6eafe18c0
Normalize jumps in compiler. All forward jumps to use JUMP_FORWARD. (GH-28755)
2021-10-06 13:05:45 +01:00
Irit Katriel
c99fc4e53a
bpo-45168: change dis output to omit missing values rather than replacing them by their index (GH-28313)
2021-09-14 10:09:05 +01:00
Irit Katriel
04676b6946
bpo-45017: move opcode-related logic from modulefinder to dis (GH-28246)
2021-09-09 14:04:12 +01:00
Batuhan Taskaya
85ea2d6165
bpo-43950: support positions for dis.Instructions created through dis.Bytecode (GH-28142)
2021-09-03 18:29:09 +03:00
Inada Naoki
55c4a92fc1
bpo-45056: Remove trailing unused constants from co_consts (GH-28109)
2021-09-02 13:02:06 +02:00
Mark Shannon
b854557b49
bpo-44840: Compiler: Move duplication of exit blocks with no line numbers to after CFG optimization. (GH-27656)
2021-08-09 10:18:59 +01:00
Mark Shannon
a86f7dae0a
bpo-44626: Merge basic blocks earlier to enable better handling of exit blocks without line numbers (GH-27138)
2021-07-15 17:46:55 +01:00
Ammar Askar
4823d9a512
bpo-43950: Add option to opt-out of PEP-657 (GH-27023)
...
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Co-authored-by: Batuhan Taskaya <batuhanosmantaskaya@gmail.com>
Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
2021-07-07 20:07:12 +01:00