Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04492cbc9a 
								
							 
						 
						
							
							
								
								GH-91095: Specialize calls to normal Python classes. (GH-99331)  
							
							
							
						 
						
							2023-06-22 09:48:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jelle Zijlstra 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cd9748409a 
								
							 
						 
						
							
							
								
								gh-104686: Fix tracing for decorated classes ( #104708 )  
							
							
							
						 
						
							2023-05-21 16:20:19 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c26d03d5d6 
								
							 
						 
						
							
							
								
								GH-102818: Do not call PyTraceBack_Here in sys.settrace trampoline.  (GH-104579)  
							
							
							
						 
						
							2023-05-19 12:40:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								45f5aa8fc7 
								
							 
						 
						
							
							
								
								GH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)  
							
							... 
							
							
							
							When monitoring LINE events, instrument all instructions that can have a predecessor on a different line.
Then check that the a new line has been hit in the instrumentation code.
This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools. 
							
						 
						
							2023-05-12 12:21:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								411b169281 
								
							 
						 
						
							
							
								
								GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython (GH-103083)  
							
							... 
							
							
							
							* The majority of the monitoring code is in instrumentation.c
* The new instrumentation bytecodes are in bytecodes.c
* legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs 
							
						 
						
							2023-04-12 12:04:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alex Waygood 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								401d7a7f00 
								
							 
						 
						
							
							
								
								gh-102515: Remove unused imports in the Lib/ directory ( #102516 )  
							
							
							
						 
						
							2023-03-08 11:45:38 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f4adb97506 
								
							 
						 
						
							
							
								
								GH-96793: Implement PEP 479 in bytecode. (GH-99006)  
							
							... 
							
							
							
							* Handle converting StopIteration to RuntimeError in bytecode.
* Add custom instruction for converting StopIteration into RuntimeError. 
							
						 
						
							2022-11-03 11:38:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a8fe4bbd6b 
								
							 
						 
						
							
							
								
								gh-98257: Make _PyEval_SetTrace() reentrant ( #98258 )  
							
							... 
							
							
							
							Make sys.setprofile() and sys.settrace() functions reentrant.  They
can no long fail with: RuntimeError("Cannot install a trace function
while another trace function is being installed").
Make _PyEval_SetTrace() and _PyEval_SetProfile() functions reentrant,
rather than detecting and rejecting reentrant calls. Only delete the
reference to function arguments once the new function is fully set,
when a reentrant call is safe. Call also _PySys_Audit() earlier. 
							
						 
						
							2022-10-20 00:31:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jack Hindmarch 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								debacd9ad5 
								
							 
						 
						
							
							
								
								gh-92886: Fixing tests that fail when running with optimizations (-O) in test_sys_settrace.py (GH-93234)  
							
							
							
						 
						
							2022-10-18 16:59:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c10e33ac11 
								
							 
						 
						
							
							
								
								GH-96864: Check for error between line and opcode events (GH-96880)  
							
							
							
						 
						
							2022-09-19 14:02:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e4d3a96a11 
								
							 
						 
						
							
							
								
								GH-94438: Handle extended arguments and conditional pops in mark_stacks (GH-95110)  
							
							
							
						 
						
							2022-07-22 16:28:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2f8bff6879 
								
							 
						 
						
							
							
								
								GH-94739: Mark stacks of exception handling blocks for setting frame.f_lineno in the debugger. (GH-94958)  
							
							
							
						 
						
							2022-07-18 16:06:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Michael Droettboom 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								582ae86b3f 
								
							 
						 
						
							
							
								
								gh-94814: Improve coverage of _PyCode_CreateLineArray (GH-94852)  
							
							... 
							
							
							
							The case where there are more than (1 << 15) lines was not covered.
I don't know if increasing test coverage requires a blurb -- let me know if it does.
Automerge-Triggered-By: GH:brandtbucher 
							
						 
						
							2022-07-15 10:00:27 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bde06e1b83 
								
							 
						 
						
							
							
								
								gh-92228: disable the compiler's 'small exit block inlining' optimization 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". 
							
						 
						
							2022-07-06 23:38:36 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Pablo Galindo Salgado 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								40d81fd63b 
								
							 
						 
						
							
							
								
								gh-94510: Raise on re-entrant calls to sys.setprofile and sys.settrace (GH-94511)  
							
							... 
							
							
							
							Co-authored-by: Łukasz Langa <lukasz@langa.pl> 
							
						 
						
							2022-07-05 20:18:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								be80db14c4 
								
							 
						 
						
							
							
								
								GH-94438: Account for NULLs on evaluation stack when jumping lines. (GH-94444)  
							
							
							
						 
						
							2022-07-01 14:01:14 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a458be3263 
								
							 
						 
						
							
							
								
								gh-93061: Mark as artificial: backwards jump after async for (GH-93062)  
							
							
							
						 
						
							2022-05-23 13:58:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								22a1db378c 
								
							 
						 
						
							
							
								
								GH-92236: Remove spurious "line" event when starting coroutine or generator. (GH-92722)  
							
							
							
						 
						
							2022-05-13 11:24:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8cf2906828 
								
							 
						 
						
							
							
								
								gh-92311: Add tests for frame_setlineno jumping over listcomps ( #92741 )  
							
							
							
						 
						
							2022-05-12 17:43:54 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								37c6db60f9 
								
							 
						 
						
							
							
								
								gh-91869: Fix tracing of specialized instructions with extended args (GH-91945)  
							
							
							
						 
						
							2022-04-27 22:36:34 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								deeaac49e2 
								
							 
						 
						
							
							
								
								bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986)  
							
							... 
							
							
							
							- Add requires_fork and requires_subprocess to more tests
- Skip extension import tests if dlopen is not available
- Don't assume that _testcapi is a shared extension
- Skip a lot of socket tests that don't work on Emscripten
- Skip mmap tests, mmap emulation is incomplete
- venv does not work yet
- Cannot get libc from executable
The "entire" test suite is now passing on Emscripten with EMSDK from git head (91 suites are skipped). 
							
						 
						
							2022-03-22 03:04:36 -07: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bd04fac7eb 
								
							 
						 
						
							
							
								
								bpo-46331: Do not set line number of instruction storing doc-string. (GH-30518)  
							
							
							
						 
						
							2022-01-11 11:28:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ec0c392f34 
								
							 
						 
						
							
							
								
								bpo-46314: Remove extra RESUME when compiling a lamdba. (GH-30513)  
							
							
							
						 
						
							2022-01-10 12:29:02 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d60457a667 
								
							 
						 
						
							
							
								
								bpo-45292: [PEP-654] add except* (GH-29581)  
							
							
							
						 
						
							2021-12-14 16:48:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a310fd83a0 
								
							 
						 
						
							
							
								
								bpo-45890: Add tests for tracing try-except-finally blocks (GH-29746)  
							
							
							
						 
						
							2021-12-07 10:50:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								337cb480e9 
								
							 
						 
						
							
							
								
								bpo-45709: Fix tracing when exception is handled. (GH-29638)  
							
							
							
						 
						
							2021-11-19 15:16:49 +00: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e5862f79c1 
								
							 
						 
						
							
							
								
								bpo-44616: Mark all clean up instructions at end of named exception block as artificial (GH-27109)  
							
							
							
						 
						
							2021-07-14 10:08:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								da6414f0ac 
								
							 
						 
						
							
							
								
								bpo-44570: Fix line tracing for forwards jumps to duplicated tails (GH-27068)  
							
							
							
						 
						
							2021-07-08 19:21:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								937cebc93b 
								
							 
						 
						
							
							
								
								bpo-44298: Fix line numbers for early exits in with statements. (GH-26513)  
							
							
							
						 
						
							2021-06-03 16:45:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cb6f3d7163 
								
							 
						 
						
							
							
								
								bpo-43933: Force RETURN_VALUE bytecodes to have line numbers (GH-26054)  
							
							
							
						 
						
							2021-05-12 11:25:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								adcd220556 
								
							 
						 
						
							
							
								
								bpo-40222: "Zero cost" exception handling (GH-25729)  
							
							... 
							
							
							
							"Zero cost" exception handling.
* Uses a lookup table to determine how to handle exceptions.
* Removes SETUP_FINALLY and POP_TOP block instructions, eliminating (most of) the runtime overhead of try statements.
* Reduces the size of the frame object by about 60%. 
							
						 
						
							2021-05-07 15:19:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5979e81a21 
								
							 
						 
						
							
							
								
								bpo-43933:  Set frame.f_lineno during call to __exit__ (GH-25719)  
							
							... 
							
							
							
							* Set line number of __exit__ call in a with statement to be that of the with keyword. 
							
						 
						
							2021-04-30 14:32:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e56d54e447 
								
							 
						 
						
							
							
								
								Mark instructions at end of class scope as artificial. (GH-24222)  
							
							
							
						 
						
							2021-01-15 13:52:00 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3bd6035b6b 
								
							 
						 
						
							
							
								
								bpo-42908: Mark cleanup code at end of try-except and with artificial ( #24202 )  
							
							... 
							
							
							
							* Mark bytecodes at end of try-except as artificial.
* Make sure that the CFG is consistent throughout optimiization. 
* Extend line-number propagation logic so that implicit returns after 'try-except' or 'with' have the correct line numbers.
* Update importlib 
							
						 
						
							2021-01-13 12:05:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								127dde5916 
								
							 
						 
						
							
							
								
								bpo-42810: Mark jumps at end of if and try statements as artificial. (GH-24091)  
							
							... 
							
							
							
							* Mark jumps at end of if and try statements as artificial.
* Update importlib
* Add comment explaining the purpose of ADDOP_JUMP_NOLINE. 
							
						 
						
							2021-01-04 18:06:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								28b75c80dc 
								
							 
						 
						
							
							
								
								bpo-42246: Don't eliminate jumps to jumps, if it will break PEP 626. (GH-23896)  
							
							
							
						 
						
							2020-12-23 11:43:10 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f2dbfd7e20 
								
							 
						 
						
							
							
								
								bpo-42634: Mark reraise after except blocks as artificial. (GH-23877)  
							
							... 
							
							
							
							* Mark reraise after except blocks as artificial.
* Update importlib
* Update dis test. 
							
						 
						
							2020-12-21 13:53:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5274b682bc 
								
							 
						 
						
							
							
								
								bpo-42645: Make sure that return/break/continue are only traced once when exiting via a finally block. (GH-23780)  
							
							... 
							
							
							
							* Make sure that return/break/continue are only traced once when exiting via a finally block.
* Add test for return in try-finally.
* Update importlib 
							
						 
						
							2020-12-16 13:07:01 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8473cf89bd 
								
							 
						 
						
							
							
								
								bpo-42246: Remove DO_NOT_EMIT_BYTECODE macros, so that while loops and if statements conform to PEP 626. (GH-23743)  
							
							
							
						 
						
							2020-12-15 11:07:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f5e97b72fe 
								
							 
						 
						
							
							
								
								bpo-42635: Mark JUMP_ABSOLUTE at end of 'for' loop as artificial to avoid spurious line events. (GH-23761)  
							
							
							
						 
						
							2020-12-14 11:28:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								56aa20f9eb 
								
							 
						 
						
							
							
								
								Don't generate spurious line number in try-except-finally. ( #23760 )  
							
							
							
						 
						
							2020-12-14 10:19:10 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cc75ab791d 
								
							 
						 
						
							
							
								
								bpo-42246: Eliminate jumps to exit blocks by copying those blocks. ( #23251 )  
							
							... 
							
							
							
							* Compiler: eliminate jumps to short exit blocks by copying. 
							
						 
						
							2020-11-12 19:49:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								877df851c3 
								
							 
						 
						
							
							
								
								bpo-42246: Partial implementation of PEP 626. (GH-23113)  
							
							... 
							
							
							
							* Implement new line number table format, as defined in PEP 626. 
							
						 
						
							2020-11-12 09:43:29 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								17b5be0c0a 
								
							 
						 
						
							
							
								
								bpo-41670: Remove outdated predict macro invocation. (GH-22026)  
							
							... 
							
							
							
							Remove PREDICTion of POP_BLOCK from FOR_ITER. 
							
						 
						
							2020-09-29 10:09:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6e8128f02e 
								
							 
						 
						
							
							
								
								bpo-41323: Perform 'peephole' optimizations directly on the CFG. (GH-21517)  
							
							... 
							
							
							
							* Move 'peephole' optimizations into compile.c and perform them directly on the CFG. 
							
						 
						
							2020-07-30 10:03:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								57697245e1 
								
							 
						 
						
							
							
								
								bpo-40228: More robust frame.setlineno. (GH-19437)  
							
							... 
							
							
							
							More robust frame.setlineno. Makes no assumptions about source->bytecode translation. 
							
						 
						
							2020-04-29 16:49:45 +01:00