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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ec382fac0d 
								
							 
						 
						
							
							
								
								bpo-45636: Remove the old %-formatting fast-path (GH-29532)  
							
							
							
						 
						
							2021-11-15 08:58:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								de3db1448b 
								
							 
						 
						
							
							
								
								bpo-45711: assert that the type of exc_info is redundant (GH-29518)  
							
							
							
						 
						
							2021-11-12 21:37:26 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7f61d9d848 
								
							 
						 
						
							
							
								
								bpo-45256: Rationalize code around Python-to-Python calls a bit. (GH-29235)  
							
							
							
						 
						
							2021-10-28 16:14:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0a1a36b74b 
								
							 
						 
						
							
							
								
								bpo-44525: Add recursive checks for CALL_FUNCTION_BUILTIN_O (GH-29271)  
							
							
							
						 
						
							2021-10-28 16:02:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f291404a80 
								
							 
						 
						
							
							
								
								bpo-45637: Store the frame pointer in the cframe (GH-29267)  
							
							... 
							
							
							
							* Rename 'frame' to 'current_frame' 
							
						 
						
							2021-10-28 13:59:11 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4776b07d17 
								
							 
						 
						
							
							
								
								Don't make a call at the C level when calling bound-methods from Python code. (GH-29238)  
							
							
							
						 
						
							2021-10-27 15:26:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								82a662e521 
								
							 
						 
						
							
							
								
								bpo-44511: Improve the bytecode for class and mapping patterns (GH-26922)  
							
							... 
							
							
							
							* Refactor mapping patterns and speed up class patterns.
* Simplify MATCH_KEYS and MATCH_CLASS.
* Add COPY opcode. 
							
						 
						
							2021-10-27 10:45:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bc85eb7a4f 
								
							 
						 
						
							
							
								
								bpo-45527: Don't count cache hits, just misses. (GH-29092)  
							
							
							
						 
						
							2021-10-20 20:53:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8863a0fcc5 
								
							 
						 
						
							
							
								
								bpo-44525: Specialize simple Python calls. (GH-29033)  
							
							
							
						 
						
							2021-10-20 16:08:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3163e68c34 
								
							 
						 
						
							
							
								
								bpo-44525: Specialize `CALL_FUNCTION` for C function calls (GH-26934)  
							
							
							
						 
						
							2021-10-20 00:16:36 +01:00