Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a0401d8372 
								
							 
						 
						
							
							
								
								Collect stats for UNPACK_SEQUENCE. (GH-31105)  
							
							
							
						 
						
							2022-02-03 18:40:56 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								da4d4ec185 
								
							 
						 
						
							
							
								
								Pass reference to func, as well as args, when pushing frame. (GH-31100)  
							
							
							
						 
						
							2022-02-03 18:36:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0d05da1fbf 
								
							 
						 
						
							
							
								
								Add specialization stats for FOR_ITER. (GH-31079)  
							
							
							
						 
						
							2022-02-02 15:56:47 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								187930f74c 
								
							 
						 
						
							
							
								
								bpo-46072: Add some frame stats. (GH-31060)  
							
							
							
						 
						
							2022-02-02 11:01:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8fb3649450 
								
							 
						 
						
							
							
								
								fFx refleak in isinstance error path (GH-31005)  
							
							
							
						 
						
							2022-01-29 14:34:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								90ab138bbd 
								
							 
						 
						
							
							
								
								bpo-46072: Add simple stats for Python calls. (GH-30989)  
							
							
							
						 
						
							2022-01-28 15:20:33 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8548366864 
								
							 
						 
						
							
							
								
								bpo-46528: Simplify the VM's stack manipulations (GH-30902)  
							
							
							
						 
						
							2022-01-26 12:47:45 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1e8a3a5579 
								
							 
						 
						
							
							
								
								Use existing unbound_local_error label in DELETE_FAST opcode (GH-30882)  
							
							
							
						 
						
							2022-01-26 13:58:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								96bf84d57a 
								
							 
						 
						
							
							
								
								bpo-46420: Use NOTRACE_DISPATCH() in specialized opcodes (GH-30652)  
							
							
							
						 
						
							2022-01-25 12:28:29 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0367a36fdc 
								
							 
						 
						
							
							
								
								bpo-43683: Streamline YIELD_VALUE and SEND (GH-30723)  
							
							... 
							
							
							
							* Split YIELD_VALUE into ASYNC_GEN_WRAP; YIELD_VALUE for async generators.
* Split SEND into SEND; YIELD_VALUE.
* Document new opcodes. 
							
						 
						
							2022-01-24 11:08:53 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b04dfbbe4b 
								
							 
						 
						
							
							
								
								bpo-46409: Make generators in bytecode (GH-30633)  
							
							... 
							
							
							
							* Add RETURN_GENERATOR and JUMP_NO_INTERRUPT opcodes.
* Trim frame and generator by word each.
* Minor refactor of frame.c
* Update test.test_sys to account for smaller frames.
* Treat generator functions as normal functions when evaluating and specializing. 
							
						 
						
							2022-01-20 11:46:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								322f962f3e 
								
							 
						 
						
							
							
								
								bpo-45953: Statically initialize all the non-object PyInterpreterState fields we can. (gh-30589)  
							
							... 
							
							
							
							https://bugs.python.org/issue45953  
						
							2022-01-13 17:17:28 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								324908ba93 
								
							 
						 
						
							
							
								
								bpo-45953: Statically initialize all the PyThreadState fields we can. (gh-30590)  
							
							... 
							
							
							
							https://bugs.python.org/issue45953  
						
							2022-01-13 17:09:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ed57b36c32 
								
							 
						 
						
							
							
								
								bpo-45953: Statically allocate the main interpreter (and initial thread state). (gh-29883)  
							
							... 
							
							
							
							Previously, the main interpreter was allocated on the heap during runtime initialization.  Here we instead embed it into _PyRuntimeState, which means it is statically allocated as part of the _PyRuntime global.  The same goes for the initial thread state (of each interpreter, including the main one).  Consequently there are fewer allocations during runtime/interpreter init, fewer possible failures, and better memory locality.
FYI, this also helps efforts to consolidate globals, which in turns helps work on subinterpreter isolation.
https://bugs.python.org/issue45953  
							
						 
						
							2022-01-12 16:28:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								be578e0c06 
								
							 
						 
						
							
							
								
								bpo-46347: Yet another fix in the erorr path of PyEval_EvalCodeEx ( #30554 )  
							
							
							
						 
						
							2022-01-11 16:35:19 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								20b5791ce9 
								
							 
						 
						
							
							
								
								bpo-46347: Fix PyEval_EvalCodeEx to correctly cleanup in error paths ( #30551 )  
							
							
							
						 
						
							2022-01-11 15:37:09 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								607d8a838f 
								
							 
						 
						
							
							
								
								bpo-46347: Fix memory leak in PyEval_EvalCodeEx. ( #30546 )  
							
							... 
							
							
							
							First introduced in 0332e569c1 
							
						 
						
							2022-01-11 14:25:28 -08: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									penguin_wwy 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3db762db72 
								
							 
						 
						
							
							
								
								bpo-46031: add POP_JUMP_IF_NOT_NONE and POP_JUMP_IF_NONE (GH-30019)  
							
							
							
						 
						
							2022-01-06 11:38:35 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								332e6b9725 
								
							 
						 
						
							
							
								
								bpo-45256: Don't track the exact depth of each InterpreterFrame (GH-30372)  
							
							
							
						 
						
							2022-01-05 11:30:26 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								31e43cbe5f 
								
							 
						 
						
							
							
								
								bpo-46009: Remove GEN_START (GH-30367)  
							
							
							
						 
						
							2022-01-04 11:38:32 -08: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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								65e7c1f90e 
								
							 
						 
						
							
							
								
								bpo-46219, 46221: simplify except* implementation following exc_info changes. Move helpers to exceptions.c. Do not assume that exception groups are truthy. (GH-30289)  
							
							
							
						 
						
							2022-01-02 23:22:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								efd6236d36 
								
							 
						 
						
							
							
								
								bpo-46072:  Add top level stats struct (GH-30169)  
							
							
							
						 
						
							2021-12-17 14:48:01 +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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								342b93f9f2 
								
							 
						 
						
							
							
								
								bpo-46072: Add --with-pystats configure option to simplify gathering of VM stats (GH-30116)  
							
							... 
							
							
							
							* Simplify specialization stats collection macros.
* Add --enable-pystats option to configure.
* Update specialization summary script to handle larger number of kinds 
							
						 
						
							2021-12-15 15:32:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3a60bfef49 
								
							 
						 
						
							
							
								
								bpo-44525: Specialize for calls to type and other builtin classes with 1 argument. (GH-29942)  
							
							
							
						 
						
							2021-12-15 15:03:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0b50a4f0cd 
								
							 
						 
						
							
							
								
								bpo-46039: Split yield from in two (GH-30035)  
							
							... 
							
							
							
							* Split YIELD_FROM opcode into SEND and JUMP_ABSOLUTE.
* Remove YIELD_FROM opcode. 
							
						 
						
							2021-12-15 10:30:09 +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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								69806b9516 
								
							 
						 
						
							
							
								
								bpo-46009: Do not exhaust generator when send() method raises (GH-29986)  
							
							
							
						 
						
							2021-12-08 12:09:26 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								313f92a57b 
								
							 
						 
						
							
							
								
								bpo-46008: Move thread-related interpreter state into a sub-struct. (gh-29971)  
							
							... 
							
							
							
							This parallels _PyRuntimeState.interpreters.  Doing this helps make it more clear what part of PyInterpreterState relates to its threads.
https://bugs.python.org/issue46008  
							
						 
						
							2021-12-07 14:03:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8262c96bcc 
								
							 
						 
						
							
							
								
								bpo-46008: Return void from _PyEval_InitState(). (gh-29970)  
							
							... 
							
							
							
							This falls into the category of keep-allocation-and-initialization separate. It also allows us to use _PyEval_InitState() safely in functions that return void.
https://bugs.python.org/issue46008  
							
						 
						
							2021-12-07 14:02:17 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								064e53d19a 
								
							 
						 
						
							
							
								
								Fix leak when an exception is raised during generator creation. (GH-29960)  
							
							
							
						 
						
							2021-12-07 18:05:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8319114fee 
								
							 
						 
						
							
							
								
								bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879)  
							
							... 
							
							
							
							* Place __dict__ immediately before GC header for plain Python objects.
* Fix up lazy dict creation logic to use managed dict pointers.
* Manage values pointer, placing them directly before managed dict pointers.
* Convert hint-based load/store attr specialization target managed dict classes.
* Specialize LOAD_METHOD for managed dict objects.
* Remove unsafe _PyObject_GC_Calloc function.
* Remove unsafe _PyObject_GC_Malloc() function.
* Add comment explaning use of Py_TPFLAGS_MANAGED_DICT. 
							
						 
						
							2021-12-07 16:02:53 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								299483c95d 
								
							 
						 
						
							
							
								
								bpo-45963: Make space for the InterpreterFrame of a generator in that generator. (GH-29891)  
							
							... 
							
							
							
							* Make generator, coroutine and async gen structs all the same size.
* Store interpreter frame in generator (and coroutine). Reduces the number of allocations neeeded for a generator from two to one. 
							
						 
						
							2021-12-06 10:13:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								03768c4d13 
								
							 
						 
						
							
							
								
								bpo-45885: Specialize COMPARE_OP (GH-29734)  
							
							... 
							
							
							
							* Add COMPARE_OP_ADAPTIVE adaptive instruction.
* Add COMPARE_OP_FLOAT_JUMP, COMPARE_OP_INT_JUMP and COMPARE_OP_STR_JUMP specialized instructions.
* Introduce and use _PyUnicode_Equal 
							
						 
						
							2021-12-03 11:29:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								49444fb807 
								
							 
						 
						
							
							
								
								bpo-45753: Interpreter internal tweaks (GH-29575)  
							
							... 
							
							
							
							* Split exit paths into exceptional and non-exceptional.
* Move exit tracing code to individual bytecodes.
* Wrap all trace entry and exit events in macros to make them clearer and easier to enhance.
* Move return sequence into RETURN_VALUE, YIELD_VALUE and YIELD_FROM. Distinguish between normal trace events and dtrace events. 
							
						 
						
							2021-12-01 12:09:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8a45ca542a 
								
							 
						 
						
							
							
								
								bpo-45711: Change exc_info related APIs to derive type and traceback from the exception instance (GH-29780)  
							
							
							
						 
						
							2021-11-30 22:37:04 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								60929576e4 
								
							 
						 
						
							
							
								
								bpo-45786: Allocate space for frame in frame object. (GH-29729)  
							
							
							
						 
						
							2021-11-29 12:34:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c456dfafe9 
								
							 
						 
						
							
							
								
								bpo-45711: use exc_value instead of exc_type to determine if exc_info is valid. Add more assertions. (GH-29627)  
							
							
							
						 
						
							2021-11-25 09:41:28 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4d6c0c0cce 
								
							 
						 
						
							
							
								
								bpo-45871: Refactor except matcher validation into a separate function so that it can be reused. Add missing unit test. (GH-29711)  
							
							
							
						 
						
							2021-11-22 16:56:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								337cb480e9 
								
							 
						 
						
							
							
								
								bpo-45709: Fix tracing when exception is handled. (GH-29638)  
							
							
							
						 
						
							2021-11-19 15:16:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								036fead695 
								
							 
						 
						
							
							
								
								bpo-45609: Specialize STORE_SUBSCR (GH-29242)  
							
							... 
							
							
							
							* Specialize STORE_SUBSCR for list[int], and dict[object]
* Adds _PyDict_SetItem_Take2 which consumes references to the key and values. 
							
						 
						
							2021-11-19 10:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								21fa7a3e8f 
								
							 
						 
						
							
							
								
								bpo-45829: Specialize BINARY_SUBSCR for __getitem__ implemented in Python. (GH-29592)  
							
							
							
						 
						
							2021-11-18 11:02:14 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dong-hee Na 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								345ba3f080 
								
							 
						 
						
							
							
								
								bpo-45510: Specialize BINARY_SUBTRACT (GH-29523)  
							
							
							
						 
						
							2021-11-18 09:19:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6a84d61c55 
								
							 
						 
						
							
							
								
								bpo-45636: Simplify BINARY_OP (GH-29565)  
							
							
							
						 
						
							2021-11-16 05:53:57 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b931077375 
								
							 
						 
						
							
							
								
								bpo-45753: Make recursion checks more efficient. (GH-29524)  
							
							... 
							
							
							
							* Uses recursion remaining, instead of recursion depth to speed up check against recursion limit. 
							
						 
						
							2021-11-16 11:01:57 +00:00