Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								35c436186b 
								
							 
						 
						
							
							
								
								gh-118921: Add copy() method for FrameLocalsProxy ( #118923 )  
							
							
							
						 
						
							2024-05-10 15:53:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e7aec8713f 
								
							 
						 
						
							
							
								
								gh-118746: Fix crash in frame_getlocals and _PyFrame_GetLocals ( #118748 )  
							
							... 
							
							
							
							We don't know how to create an unoptimized frame with f_locals == NULL,
but they are seen in the wild, and this fixes the crash. 
							
						 
						
							2024-05-07 17:48:05 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								616b745b89 
								
							 
						 
						
							
							
								
								GH-115709: Invalidate executors when a local variable is changed via frame.f_locals ( #118639 )  
							
							... 
							
							
							
							Also fix unrelated assert in debug Tier2/JIT builds. 
							
						 
						
							2024-05-06 21:21:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7528b84e94 
								
							 
						 
						
							
							
								
								gh-118609: Add proper error check for framelocalsproxy ( #118615 )  
							
							
							
						 
						
							2024-05-06 08:46:15 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								afbe5bf9c8 
								
							 
						 
						
							
							
								
								gh-74929: Make containment checks more efficient in FrameLocalsProxy ( #118624 )  
							
							... 
							
							
							
							Properly implement the `sq_contains` slot for frame locals proxy containment checks. 
							
						 
						
							2024-05-06 20:16:48 +10:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b4f8eb0de2 
								
							 
						 
						
							
							
								
								gh-118605: Fix reference leak in FrameLocalsProxy ( #118607 )  
							
							... 
							
							
							
							Also add some error checks. 
							
						 
						
							2024-05-05 21:31:35 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5dd36732c8 
								
							 
						 
						
							
							
								
								gh-74929: Remove undesirable DECREF in PEP 667 implementation ( #118583 )  
							
							... 
							
							
							
							With tests. 
							
						 
						
							2024-05-05 03:06:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b034f14a4b 
								
							 
						 
						
							
							
								
								gh-74929: Implement PEP 667 (GH-115153)  
							
							
							
						 
						
							2024-05-04 12:12:10 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								375c94c75d 
								
							 
						 
						
							
							
								
								gh-107674: Lazy load line number to improve performance of tracing (GH-118127)  
							
							
							
						 
						
							2024-04-29 09:54:52 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f180b31e76 
								
							 
						 
						
							
							
								
								GH-118095: Handle RETURN_GENERATOR in tier 2 (GH-118180)  
							
							
							
						 
						
							2024-04-25 11:32:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bogdan Romanyuk 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a8e93d3dca 
								
							 
						 
						
							
							
								
								gh-115756: make PyCode_GetFirstFree an unstable API (GH-115781)  
							
							
							
						 
						
							2024-03-19 09:20:38 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Albert Zeyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								78c254582b 
								
							 
						 
						
							
							
								
								gh-113939: Frame clear, clear locals ( #113940 )  
							
							
							
						 
						
							2024-01-31 19:14:44 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carey Metcalfe 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a2dd0e7038 
								
							 
						 
						
							
							
								
								gh-111375: Use NULL rather than None in the exception stack to indicate that an exception was handled ( #113302 )  
							
							
							
						 
						
							2023-12-21 01:46:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								13405ecffd 
								
							 
						 
						
							
							
								
								gh-79932: raise exception if frame.clear() is called on a suspended frame ( #111792 )  
							
							
							
						 
						
							2023-11-07 08:49:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c5063fd62a 
								
							 
						 
						
							
							
								
								simplify code to pop exception in frame_setlineno ( #111702 )  
							
							
							
						 
						
							2023-11-06 15:45:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e0afed7e27 
								
							 
						 
						
							
							
								
								gh-103615: Use local events for opcode tracing (GH-109472)  
							
							... 
							
							
							
							* Use local monitoring for opcode trace
* Remove f_opcode_trace_set
* Add test for setting f_trace_opcodes after settrace 
							
						 
						
							2023-11-03 16:39:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d49aba5a7a 
								
							 
						 
						
							
							
								
								gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state ( #111648 )  
							
							
							
						 
						
							2023-11-03 10:01:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								67a91f78e4 
								
							 
						 
						
							
							
								
								gh-109094: replace frame->prev_instr by frame->instr_ptr ( #109095 )  
							
							
							
						 
						
							2023-10-26 13:43:10 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Savannah Ostrowski 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6640f1d8d2 
								
							 
						 
						
							
							
								
								GH-94438: Restore ability to jump over None tests (GH-111237)  
							
							
							
						 
						
							2023-10-23 23:13:16 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								22e65eecaa 
								
							 
						 
						
							
							
								
								GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)  
							
							
							
						 
						
							2023-09-13 10:25:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f2584eade3 
								
							 
						 
						
							
							
								
								gh-108732: include comprehension locals in frame.f_locals ( #109026 )  
							
							... 
							
							
							
							Co-authored-by: Radislav Chugunov <52372310+chgnrdv@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> 
							
						 
						
							2023-09-07 08:56:43 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								39376cb93d 
								
							 
						 
						
							
							
								
								gh-108991: replace _PyFrame_GetState by two simpler functions ( #108992 )  
							
							
							
						 
						
							2023-09-06 12:54:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								72119d16a5 
								
							 
						 
						
							
							
								
								gh-105481: remove regen-opcode. Generated _PyOpcode_Caches in regen-cases. ( #108367 )  
							
							
							
						 
						
							2023-08-23 18:39:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								665a4391e1 
								
							 
						 
						
							
							
								
								gh-105481: generate op IDs from bytecode.c instead of hard coding them in opcode.py ( #107971 )  
							
							
							
						 
						
							2023-08-16 22:25:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Anders Kaseorg 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								557b05c7a5 
								
							 
						 
						
							
							
								
								gh-106092: Fix use-after-free crash in frame_dealloc ( #106875 )  
							
							... 
							
							
							
							It was possible for the trashcan to delay the deallocation of a
PyFrameObject until after its corresponding _PyInterpreterFrame has
already been freed.  So frame_dealloc needs to avoid dereferencing the
f_frame pointer unless it first checks that the pointer still points
to the interpreter frame within the frame object.
Signed-off-by: Anders Kaseorg <andersk@mit.edu> 
							
						 
						
							2023-08-01 10:32:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1a3faba9f1 
								
							 
						 
						
							
							
								
								gh-106869: Use new PyMemberDef constant names ( #106871 )  
							
							... 
							
							
							
							* Remove '#include "structmember.h"'.
* If needed, add <stddef.h> to get offsetof() function.
* Update Parser/asdl_c.py to regenerate Python/Python-ast.c.
* Replace:
  * T_SHORT => Py_T_SHORT
  * T_INT => Py_T_INT
  * T_LONG => Py_T_LONG
  * T_FLOAT => Py_T_FLOAT
  * T_DOUBLE => Py_T_DOUBLE
  * T_STRING => Py_T_STRING
  * T_OBJECT => _Py_T_OBJECT
  * T_CHAR => Py_T_CHAR
  * T_BYTE => Py_T_BYTE
  * T_UBYTE => Py_T_UBYTE
  * T_USHORT => Py_T_USHORT
  * T_UINT => Py_T_UINT
  * T_ULONG => Py_T_ULONG
  * T_STRING_INPLACE => Py_T_STRING_INPLACE
  * T_BOOL => Py_T_BOOL
  * T_OBJECT_EX => Py_T_OBJECT_EX
  * T_LONGLONG => Py_T_LONGLONG
  * T_ULONGLONG => Py_T_ULONGLONG
  * T_PYSSIZET => Py_T_PYSSIZET
  * T_NONE => _Py_T_NONE
  * READONLY => Py_READONLY
  * PY_AUDIT_READ => Py_AUDIT_READ
  * READ_RESTRICTED => Py_AUDIT_READ
  * PY_WRITE_RESTRICTED => _Py_WRITE_RESTRICTED
  * RESTRICTED => (READ_RESTRICTED | _Py_WRITE_RESTRICTED) 
							
						 
						
							2023-07-25 15:28:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								104d7b760f 
								
							 
						 
						
							
							
								
								gh-105340: include hidden fast-locals in locals() ( #105715 )  
							
							... 
							
							
							
							* gh-105340: include hidden fast-locals in locals() 
							
						 
						
							2023-07-05 17:05:02 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Md Sadman Chowdhury 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								822db860ea 
								
							 
						 
						
							
							
								
								Fix duplicate word typos in comments ( #106225 )  
							
							
							
						 
						
							2023-07-01 12:47:14 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7199584ac8 
								
							 
						 
						
							
							
								
								GH-100987: Allow objects other than code objects as the "executable" of an internal frame. (GH-105727)  
							
							... 
							
							
							
							* Add table describing possible executable classes for out-of-process debuggers.
* Remove shim code object creation code as it is no longer needed.
* Make lltrace a bit more robust w.r.t. non-standard frames. 
							
						 
						
							2023-06-14 13:46:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4bfa01b9d9 
								
							 
						 
						
							
							
								
								GH-104584: Plugin optimizer API (GH-105100)  
							
							
							
						 
						
							2023-06-02 11:46:18 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c3b595e73e 
								
							 
						 
						
							
							
								
								gh-97933: (PEP 709) inline list/dict/set comprehensions ( #101441 )  
							
							... 
							
							
							
							Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> 
							
						 
						
							2023-05-09 11:02:14 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a0df9ee8fc 
								
							 
						 
						
							
							
								
								GH-96803: Add three C-API functions to make _PyInterpreterFrame less opaque for users of PEP 523. (GH-96849)  
							
							
							
						 
						
							2023-05-05 17:53:07 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0444ae2487 
								
							 
						 
						
							
							
								
								GH-100982: Break up COMPARE_AND_BRANCH (GH-102801)  
							
							
							
						 
						
							2023-03-23 15:25:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3468c768ce 
								
							 
						 
						
							
							
								
								gh-102859: Remove JUMP_IF_FALSE_OR_POP and JUMP_IF_TRUE_OR_POP ( #102870 )  
							
							
							
						 
						
							2023-03-22 18:10:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								11a2c6ce51 
								
							 
						 
						
							
							
								
								gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (in Objects/) ( #102218 )  
							
							
							
						 
						
							2023-03-08 17:03:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Steve Dower 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a99eb5cd99 
								
							 
						 
						
							
							
								
								gh-101907: Stop using _Py_OPCODE and _Py_OPARG macros (GH-101912)  
							
							... 
							
							
							
							* gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h
* Make cases_generator correct on Windows 
							
						 
						
							2023-02-20 14:56:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								160f2fe2b9 
								
							 
						 
						
							
							
								
								GH-87849: Simplify stack effect of SEND and specialize it for generators and coroutines. (GH-101788)  
							
							
							
						 
						
							2023-02-13 11:24:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									penguin_wwy 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								753fc8a5d6 
								
							 
						 
						
							
							
								
								gh-101632: Add the new RETURN_CONST opcode ( #101633 )  
							
							
							
						 
						
							2023-02-07 22:32:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b14c2ef19 
								
							 
						 
						
							
							
								
								GH-100982: Add COMPARE_AND_BRANCH instruction (GH-100983)  
							
							
							
						 
						
							2023-01-16 12:35:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								61762b9387 
								
							 
						 
						
							
							
								
								GH-100126: Skip incomplete frames in more places (GH-100613)  
							
							
							
						 
						
							2023-01-09 12:20:04 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								15c44789bb 
								
							 
						 
						
							
							
								
								gh-100758: Refactor initialisation of frame headers into a single function (_PyFrame_Initialize) (GH-100759)  
							
							
							
						 
						
							2023-01-06 14:55:56 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								15aecf8dd7 
								
							 
						 
						
							
							
								
								GH-100719: Remove the co_nplaincellvars field from code objects. (GH-100721)  
							
							
							
						 
						
							2023-01-04 15:41:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c31e356a10 
								
							 
						 
						
							
							
								
								gh-100720: refactor calculation of number of frame slots for a code object into the new function _PyFrame_NumSlotsForCodeObject ( #100722 )  
							
							
							
						 
						
							2023-01-04 13:37:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bill Fisher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								88d565f32a 
								
							 
						 
						
							
							
								
								gh-99110: Initialize frame->previous in init_frame to fix segmentation fault when accessing frame.f_back ( #100182 )  
							
							
							
						 
						
							2022-12-23 20:15:53 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aa8b58cb33 
								
							 
						 
						
							
							
								
								Remove old comment (GH-99489)  
							
							
							
						 
						
							2022-11-16 13:43:31 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6788303f5c 
								
							 
						 
						
							
							
								
								gh-91248: Optimize PyFrame_GetVar() ( #99252 )  
							
							... 
							
							
							
							PyFrame_GetVar() no longer creates a temporary dictionary to get a
variable. 
							
						 
						
							2022-11-13 15:37:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								584e55bd34 
								
							 
						 
						
							
							
								
								gh-99300: Use Py_NewRef() in Objects/ directory ( #99335 )  
							
							... 
							
							
							
							Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and
Py_XNewRef() in C files of the Objects/ directory. 
							
						 
						
							2022-11-10 22:22:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1e197e63e2 
								
							 
						 
						
							
							
								
								GH-96421: Insert shim frame on entry to interpreter (GH-96319)  
							
							... 
							
							
							
							* Adds EXIT_INTERPRETER instruction to exit PyEval_EvalDefault()
* Simplifies RETURN_VALUE, YIELD_VALUE and RETURN_GENERATOR instructions as they no longer need to check for entry frames. 
							
						 
						
							2022-11-10 12:34:57 +00:00