Dino Viehland 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2984ff9e51 
								
							 
						 
						
							
							
								
								gh-130373: Avoid locking in _LOAD_ATTR_WITH_HINT ( #130372 )  
							
							... 
							
							
							
							Avoid locking in _LOAD_ATTR_WITH_HINT 
							
						 
						
							2025-03-28 15:16:41 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2c8f329dc6 
								
							 
						 
						
							
							
								
								gh-131738: optimize builtin any/all/tuple calls with a generator expression arg ( #131737 )  
							
							
							
						 
						
							2025-03-28 10:35:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3d4ac1a2c2 
								
							 
						 
						
							
							
								
								gh-123358: Use _PyStackRef in LOAD_DEREF (gh-130064)  
							
							... 
							
							
							
							Concurrent accesses from multiple threads to the same `cell` object did not
scale well in the free-threaded build. Use `_PyStackRef` and optimistically
avoid locking to improve scaling.
With the locks around cell reads gone, some of the free threading tests were
prone to starvation: the readers were able to run in a tight loop and the
writer threads weren't scheduled frequently enough to make timely progress.
Adjust the tests to avoid this.
Co-authored-by: Donghee Na <donghee.na@python.org> 
							
						 
						
							2025-03-26 12:08:20 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1b8bb1ed0c 
								
							 
						 
						
							
							
								
								GH-131729: Code-gen better liveness analysis (GH-131732)  
							
							... 
							
							
							
							* Rename 'defined' attribute to 'in_local' to more accurately reflect how it is used
* Make death of variables explicit even for array variables.
* Convert in_memory from boolean to stack offset
* Don't apply liveness analysis to optimizer generated code
* Fix RETURN_VALUE in optimizer 
							
						 
						
							2025-03-26 15:21:35 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dino Viehland 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d9411ae3c2 
								
							 
						 
						
							
							
								
								gh-130312: SET_ADD should not lock ( #130136 )  
							
							... 
							
							
							
							SET_ADD should not lock 
							
						 
						
							2025-03-21 15:58:32 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Savannah Ostrowski 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b92ee14b80 
								
							 
						 
						
							
							
								
								GH-130415: Optimize constant comparison in JIT builds (GH-131489)  
							
							
							
						 
						
							2025-03-21 11:23:12 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7ebd71ee14 
								
							 
						 
						
							
							
								
								GH-131498: Remove conditional stack effects (GH-131499)  
							
							... 
							
							
							
							* Adds some missing #includes 
							
						 
						
							2025-03-20 15:39:38 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a45f25361d 
								
							 
						 
						
							
							
								
								GH-131238: More refactoring of core header files (GH-131351)  
							
							... 
							
							
							
							Adds new pycore_stats.h header file to help break dependencies involving the pycore_code.h header. 
							
						 
						
							2025-03-17 14:41:05 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Xuanteng Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1821f8f10c 
								
							 
						 
						
							
							
								
								gh-131281: fix compile error due to BINARY_SUBSCR (GH-131283)  
							
							... 
							
							
							
							* fix compile error due to `BINARY_SUBSCR`
* replace stat_inc with `BINARY_OP` 
							
						 
						
							2025-03-15 23:38:46 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									T. Wouters 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								de2f7da77d 
								
							 
						 
						
							
							
								
								gh-115999: Add free-threaded specialization for FOR_ITER ( #128798 )  
							
							... 
							
							
							
							Add free-threaded versions of existing specialization for FOR_ITER (list, tuples, fast range iterators and generators), without significantly affecting their thread-safety. (Iterating over shared lists/tuples/ranges should be fine like before. Reusing iterators between threads is not fine, like before. Sharing generators between threads is a recipe for significant crashes, like before.) 
							
						 
						
							2025-03-12 16:21:46 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2bef8ea8ea 
								
							 
						 
						
							
							
								
								GH-127705: Use _PyStackRefs in the default build. (GH-127875)  
							
							
							
						 
						
							2025-03-10 14:06:56 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								89df62c120 
								
							 
						 
						
							
							
								
								GH-128534: Fix behavior of branch monitoring for async for (GH-130847)  
							
							... 
							
							
							
							* Both branches in a pair now have a common source and are included in co_branches 
							
						 
						
							2025-03-07 14:30:31 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a025f27d94 
								
							 
						 
						
							
							
								
								gh-130920: Fix data race in STORE_SUBSCR_LIST_INT ( #130923 )  
							
							... 
							
							
							
							The write of the item to the list needs to use an atomic operation in
the free threading build.
Co-authored-by: Tomasz Pytel <tompytel@gmail.com> 
							
						 
						
							2025-03-06 15:59:48 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								54965f3fb2 
								
							 
						 
						
							
							
								
								GH-130296: Avoid stack transients in four instructions. (GH-130310)  
							
							... 
							
							
							
							* Combine _GUARD_GLOBALS_VERSION_PUSH_KEYS and _LOAD_GLOBAL_MODULE_FROM_KEYS into _LOAD_GLOBAL_MODULE
* Combine _GUARD_BUILTINS_VERSION_PUSH_KEYS and _LOAD_GLOBAL_BUILTINS_FROM_KEYS into _LOAD_GLOBAL_BUILTINS
* Combine _CHECK_ATTR_MODULE_PUSH_KEYS and _LOAD_ATTR_MODULE_FROM_KEYS into _LOAD_ATTR_MODULE
* Remove stack transient in LOAD_ATTR_WITH_HINT 
							
						 
						
							2025-02-28 18:00:38 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Viktorin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fecf8bc8f2 
								
							 
						 
						
							
							
								
								gh-130595: Fix leak in WITH_EXCEPT_START error case (GH-130626)  
							
							... 
							
							
							
							Co-authored-by: Ken Jin <kenjin@python.org> 
							
						 
						
							2025-02-28 08:58:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2a18e80695 
								
							 
						 
						
							
							
								
								GH-128534: Instrument branches for async for loops. (GH-130569)  
							
							
							
						 
						
							2025-02-27 09:36:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dino Viehland 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5c8e8704c3 
								
							 
						 
						
							
							
								
								gh-130595: Keep traceback alive for WITH_EXCEPT_START ( #130562 )  
							
							... 
							
							
							
							Keep traceback alive for WITH_EXCEPT_START 
							
						 
						
							2025-02-26 10:41:26 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c5f925c8c9 
								
							 
						 
						
							
							
								
								gh-122029: Move monitoring after method expand for CALL_KW (GH-130488)  
							
							
							
						 
						
							2025-02-25 15:43:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								014223649c 
								
							 
						 
						
							
							
								
								GH-130396: Use computed stack limits on linux (GH-130398)  
							
							... 
							
							
							
							* Implement C recursion protection with limit pointers for Linux, MacOS and Windows
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow 
							
						 
						
							2025-02-25 09:24:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Viktorin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ef29104f7d 
								
							 
						 
						
							
							
								
								GH-91079: Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now (GH130413)  
							
							... 
							
							
							
							Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now
Unfortunatlely, the change broke some buildbots.
This reverts commit 2498c22fa0 
							
						 
						
							2025-02-24 11:16:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2498c22fa0 
								
							 
						 
						
							
							
								
								GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)  
							
							... 
							
							
							
							* Implement C recursion protection with limit pointers
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow 
							
						 
						
							2025-02-19 11:44:57 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								46ac85e4d9 
								
							 
						 
						
							
							
								
								gh-129989: Change Py_TAIL_CALL_INTERP ifndef to ! ( #130269 )  
							
							... 
							
							
							
							Change Py_TAIL_CALL_INTERP ifndef to ! 
							
						 
						
							2025-02-18 15:48:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								359c7dde3b 
								
							 
						 
						
							
							
								
								gh-129989: Properly disable tailcall interp in configure (GH-129991)  
							
							... 
							
							
							
							Co-authored-by: Zanie Blue <contact@zanie.dev> 
							
						 
						
							2025-02-16 03:01:24 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								72f56654d0 
								
							 
						 
						
							
							
								
								GH-128682: Account for escapes in DECREF_INPUTS (GH-129953)  
							
							... 
							
							
							
							* Handle escapes in DECREF_INPUTS
* Mark a few more functions as escaping
* Replace DECREF_INPUTS with PyStackRef_CLOSE where possible 
							
						 
						
							2025-02-12 17:44:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a1417b211f 
								
							 
						 
						
							
							
								
								gh-100239: replace BINARY_SUBSCR & family by BINARY_OP with oparg NB_SUBSCR ( #129700 )  
							
							
							
						 
						
							2025-02-07 22:39:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5fa7e1b7fd 
								
							 
						 
						
							
							
								
								GH-129715: Remove _DYNAMIC_EXIT (GH-129716)  
							
							
							
						 
						
							2025-02-07 11:41:17 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								70e387c990 
								
							 
						 
						
							
							
								
								GH-129709: Clean up tier two (GH-129710)  
							
							
							
						 
						
							2025-02-07 09:52:49 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fbaa6c8ff0 
								
							 
						 
						
							
							
								
								GH-129763: Remove the LLTRACE macro (GH-129764)  
							
							
							
						 
						
							2025-02-07 08:49:51 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cb640b659e 
								
							 
						 
						
							
							
								
								gh-128563: A new tail-calling interpreter (GH-128718)  
							
							... 
							
							
							
							Co-authored-by: Garrett Gu <garrettgu777@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> 
							
						 
						
							2025-02-06 23:21:57 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								96ff4c2486 
								
							 
						 
						
							
							
								
								GH-128682: Mark two more macros as escaping. (GH-129645)  
							
							... 
							
							
							
							Expand out SETLOCAL so that code generator can see the decref. Mark Py_CLEAR as escaping 
							
						 
						
							2025-02-04 14:00:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2effea4dab 
								
							 
						 
						
							
							
								
								GH-128682: Spill the stack pointer in labels, as well as instructions (GH-129618)  
							
							
							
						 
						
							2025-02-04 12:18:31 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								75b628adeb 
								
							 
						 
						
							
							
								
								GH-128563: Generate opcode = ... in instructions that need opcode (GH-129608)  
							
							... 
							
							
							
							* Remove support for GO_TO_INSTRUCTION 
							
						 
						
							2025-02-03 15:09:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								808071b994 
								
							 
						 
						
							
							
								
								GH-128682: Make PyStackRef_CLOSE escaping. (GH-129404)  
							
							
							
						 
						
							2025-02-03 12:41:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								54f74b80ae 
								
							 
						 
						
							
							
								
								GH-128563: Move some labels, to simplify implementing tailcalling interpreter. (GH-129525)  
							
							
							
						 
						
							2025-01-31 17:13:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4815131910 
								
							 
						 
						
							
							
								
								gh-100239: specialize bitwise logical binary ops on ints ( #128927 )  
							
							
							
						 
						
							2025-01-29 09:28:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								828b27680f 
								
							 
						 
						
							
							
								
								GH-126599: Remove the PyOptimizer API (GH-129194)  
							
							
							
						 
						
							2025-01-28 16:10:51 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									T. Wouters 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5c930a26fb 
								
							 
						 
						
							
							
								
								gh-115999: Enable free-threaded specialization of LOAD_CONST ( #129365 )  
							
							... 
							
							
							
							Enable free-threaded specialization of LOAD_CONST. 
							
						 
						
							2025-01-29 01:07:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								75b4962157 
								
							 
						 
						
							
							
								
								GH-128914: Remove all but one conditional stack effects (GH-129226)  
							
							... 
							
							
							
							* Remove all 'if (0)' and 'if (1)' conditional stack effects
* Use array instead of conditional for BUILD_SLICE args
* Refactor LOAD_GLOBAL to use a common conditional uop
* Remove conditional stack effects from LOAD_ATTR specializations
* Replace conditional stack effects in LOAD_ATTR with a 0 or 1 sized array.
* Remove conditional stack effects from CALL_FUNCTION_EX 
							
						 
						
							2025-01-27 16:24:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								87fb8b198c 
								
							 
						 
						
							
							
								
								gh-128563: Move labels in ceval.c to bytecodes.c (GH-129112)  
							
							
							
						 
						
							2025-01-27 18:30:20 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c39ae8922b 
								
							 
						 
						
							
							
								
								gh-128799: Add frame of except* to traceback when wrapping a naked exception ( #128971 )  
							
							
							
						 
						
							2025-01-25 13:00:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a10f99375e 
								
							 
						 
						
							
							
								
								Revert "GH-128914: Remove conditional stack effects from bytecodes.c and the code generators (GH-128918)" (GH-129202)  
							
							... 
							
							
							
							The commit introduced a ~2.5-3% regression in the free threading build.
This reverts commit ab61d3f430 
							
						 
						
							2025-01-23 09:26:25 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								470a0a68eb 
								
							 
						 
						
							
							
								
								GH-128682: Change a couple of functions to only steal references on success. (GH-129132)  
							
							... 
							
							
							
							Change PyTuple_FromStackRefSteal and PyList_FromStackRefSteal to only steal on success to avoid escaping 
							
						 
						
							2025-01-22 10:51:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5809b25909 
								
							 
						 
						
							
							
								
								gh-128563: Move lltrace into the frame struct (GH-129113)  
							
							
							
						 
						
							2025-01-21 22:17:15 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f5b6356a11 
								
							 
						 
						
							
							
								
								GH-128563: Add new frame owner type for interpreter entry frames (GH-129078)  
							
							... 
							
							
							
							Add new frame owner type for interpreter entry frames 
							
						 
						
							2025-01-21 10:15:02 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7239da7559 
								
							 
						 
						
							
							
								
								GH-127953: Make line number lookup O(1) regardless of the size of the code object (GH-128350)  
							
							
							
						 
						
							2025-01-21 09:33:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ab61d3f430 
								
							 
						 
						
							
							
								
								GH-128914: Remove conditional stack effects from bytecodes.c and the code generators (GH-128918)  
							
							
							
						 
						
							2025-01-20 17:09:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Xuanteng Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b44ff6d0df 
								
							 
						 
						
							
							
								
								GH-126599: Remove the "counter" optimizer/executor (GH-126853)  
							
							
							
						 
						
							2025-01-16 15:57:04 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3893a92d95 
								
							 
						 
						
							
							
								
								gh-100239: specialize long tail of binary operations ( #128722 )  
							
							
							
						 
						
							2025-01-16 15:22:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									mpage 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b5ee0258bf 
								
							 
						 
						
							
							
								
								gh-115999: Specialize LOAD_ATTR for instance and class receivers in free-threaded builds ( #128164 )  
							
							... 
							
							
							
							Finish specialization for LOAD_ATTR in the free-threaded build by adding support for class and instance receivers. 
							
						 
						
							2025-01-14 11:56:11 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f49a1df6f3 
								
							 
						 
						
							
							
								
								GH-128682: Convert explicit loops closing arrays into DECREF_INPUTS. (GH-128822)  
							
							... 
							
							
							
							* Mark Py_DECREF and Py_XDECREF as escaping
* Remove explicit loops for clearing array inputs 
							
						 
						
							2025-01-14 15:08:56 +00:00