Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2402f84665 
								
							 
						 
						
							
							
								
								gh-138431: JIT Optimizer --- Fix round-tripping references for str and tuple (GH-138458)  
							
							... 
							
							
							
							Co-authored-by: Mark Shannon <9448417+markshannon@users.noreply.github.com> 
							
						 
						
							2025-09-04 02:05:06 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AN Long 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1ff2cbbac8 
								
							 
						 
						
							
							
								
								gh-137136: Suppress build warnings when build on Windows with --experimental-jit-interpreter (GH-137137)  
							
							
							
						 
						
							2025-09-03 15:42:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								af15e1d13e 
								
							 
						 
						
							
							
								
								GH-132532: Add new DSL macros to better declare semantics of exits at ends of instructions/uops. (GH-137098)  
							
							
							
						 
						
							2025-08-09 15:41:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e7b55f564d 
								
							 
						 
						
							
							
								
								GH-136410: Faster side exits by using a cold exit stub (GH-136411)  
							
							
							
						 
						
							2025-08-01 16:26:07 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Savannah Bailey 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f7c380ef67 
								
							 
						 
						
							
							
								
								GH-132732: Use pure op machinery to optimize COMPARE_OP_INT/FLOAT/STR ( #137062 )  
							
							... 
							
							
							
							Co-authored-by: Ken Jin <kenjin4096@gmail.com> 
							
						 
						
							2025-07-25 19:02:04 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b3308973e3 
								
							 
						 
						
							
							
								
								gh-136183: Deal with escapes in JIT optimizer's constant evaluator (GH-136184)  
							
							
							
						 
						
							2025-07-02 14:08:25 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e0d6500b2d 
								
							 
						 
						
							
							
								
								gh-136125: Use _PyObject_GetMethodStackRef for  LOAD_ATTR (GH-136127)  
							
							
							
						 
						
							2025-07-02 01:20:46 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								695ab61351 
								
							 
						 
						
							
							
								
								gh-132732: Automatically constant evaluate pure operations (GH-132733)  
							
							... 
							
							
							
							This adds a "macro" to the optimizer DSL called "REPLACE_OPCODE_IF_EVALUATES_PURE", which allows automatically constant evaluating a bytecode body if certain inputs have no side effects upon evaluations (such as ints, strings, and floats).
Co-authored-by: Tomas R. <tomas.roun8@gmail.com> 
							
						 
						
							2025-06-27 19:37:44 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Noam Cohen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bda121862e 
								
							 
						 
						
							
							
								
								gh-131798: Optimize _UNARY_NEGATIVE (GH-135223)  
							
							
							
						 
						
							2025-06-24 03:42:09 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								569fc6870f 
								
							 
						 
						
							
							
								
								gh-134584: Specialize POP_TOP by reference and type in JIT (GH-135761)  
							
							
							
						 
						
							2025-06-24 00:57:14 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								61532b4bc7 
								
							 
						 
						
							
							
								
								gh-131798: JIT: Optimize _CALL_LEN when the length is known ( #135260 )  
							
							... 
							
							
							
							* Add news entry
* Optimize _CALL_LEN
* Simplify tests 
							
						 
						
							2025-06-20 18:21:39 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b53b0c14da 
								
							 
						 
						
							
							
								
								gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613)  
							
							... 
							
							
							
							Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com> 
							
						 
						
							2025-06-20 14:33:35 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9731dd2c8d 
								
							 
						 
						
							
							
								
								GH-135379: Specialize int operations for compact ints only (GH-135668)  
							
							
							
						 
						
							2025-06-19 11:10:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fba5dded6d 
								
							 
						 
						
							
							
								
								gh-134584: Decref elimination for float ops in the JIT (GH-134588)  
							
							... 
							
							
							
							This PR adds a PyJitRef API to the JIT's optimizer that mimics the _PyStackRef API. This allows it to track references and their stack lifetimes properly. Thus opening up the doorway to refcount elimination in the JIT. 
							
						 
						
							2025-06-17 23:25:53 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nadeshiko Manju 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								667a86e076 
								
							 
						 
						
							
							
								
								gh-131798: JIT: replace _CHECK_METHOD_VERSION with _CHECK_FUNCTION_VERSION_INLINE (GH-135022)  
							
							... 
							
							
							
							Signed-off-by: Manjusaka <me@manjusaka.me>
Co-authored-by: Brandt Bucher <brandtbucher@gmail.com> 
							
						 
						
							2025-06-16 13:25:50 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b15873ed0 
								
							 
						 
						
							
							
								
								gh-135474: Specialize arithmetic only on compact ints (GH-135479)  
							
							... 
							
							
							
							Specialize arithmetic only on compact ints. This also makes int operations non-escaping in the JIT and in tier 1. 
							
						 
						
							2025-06-14 17:13:32 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c87b5b2cb6 
								
							 
						 
						
							
							
								
								GH-135379: Remove types from stack items in code generator. (GH-135384)  
							
							... 
							
							
							
							* Make casts explicit in the instruction definitions 
							
						 
						
							2025-06-11 15:52:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Noam Cohen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b150b6aca7 
								
							 
						 
						
							
							
								
								gh-131798: Optimize _UNARY_INVERT (GH-135222)  
							
							
							
						 
						
							2025-06-09 18:33:18 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Amit Lavon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8fdbbf8b18 
								
							 
						 
						
							
							
								
								GH-131798: Type-propagate string/list/tuple slices (GH-134671)  
							
							
							
						 
						
							2025-06-07 14:08:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								46151648ca 
								
							 
						 
						
							
							
								
								GH-131798: Optimize away type(x) in the JIT when the result is known (GH-135194)  
							
							
							
						 
						
							2025-06-06 16:44:43 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b90ecea9e6 
								
							 
						 
						
							
							
								
								GH-132554:  Fix tier2 FOR_ITER implementation and optimizations (GH-135137)  
							
							
							
						 
						
							2025-06-05 18:53:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Noam Cohen 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								79d81f7cba 
								
							 
						 
						
							
							
								
								gh-131798: Optimize _ITER_CHECK_TUPLE (GH-134803)  
							
							
							
						 
						
							2025-05-28 02:30:17 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f6f4e8a662 
								
							 
						 
						
							
							
								
								GH-132554: "Virtual" iterators (GH-132555)  
							
							... 
							
							
							
							* FOR_ITER now pushes either the iterator and NULL or leaves the iterable and pushes tagged zero
* NEXT_ITER uses the tagged int as the index into the sequence or, if TOS is NULL, iterates as before. 
							
						 
						
							2025-05-27 15:59:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								484e00379b 
								
							 
						 
						
							
							
								
								GH-131798: Optimize away isinstance calls in the JIT (GH-134369)  
							
							
							
						 
						
							2025-05-22 12:52:47 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ec736e7dae 
								
							 
						 
						
							
							
								
								GH-131798: Optimize cached class attributes and methods in the JIT (GH-134403)  
							
							
							
						 
						
							2025-05-22 11:15:03 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nadeshiko Manju 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8c5e5557c6 
								
							 
						 
						
							
							
								
								GH-131798: Turn _LOAD_SMALL_INT into _LOAD_CONST_INLINE_BORROW in the JIT (GH-134406)  
							
							
							
						 
						
							2025-05-22 09:54:57 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2f0570caf4 
								
							 
						 
						
							
							
								
								GH-131798: Narrow types more aggressively in the JIT (GH-134373)  
							
							
							
						 
						
							2025-05-20 18:09:51 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nadeshiko Manju 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e1c0c451a2 
								
							 
						 
						
							
							
								
								GH-131798: Narrow the return type of _GET_LEN to int (GH-133345)  
							
							
							
						 
						
							2025-05-20 18:02:50 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6dcb0fdfe0 
								
							 
						 
						
							
							
								
								GH-134282: Always borrow references LOAD_CONST (GH-134284)  
							
							
							
						 
						
							2025-05-20 11:24:11 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a7f317d730 
								
							 
						 
						
							
							
								
								GH-131798: Add _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW (GH-134268)  
							
							
							
						 
						
							2025-05-19 18:00:53 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Diego Russo 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								42d03f3933 
								
							 
						 
						
							
							
								
								GH-131798: Split CALL_LIST_APPEND into several uops (GH-134240)  
							
							
							
						 
						
							2025-05-19 15:48:55 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8d490b3687 
								
							 
						 
						
							
							
								
								GH-131798: Narrow the return type of isinstance for some known arguments in the JIT (GH-133172)  
							
							
							
						 
						
							2025-05-19 13:19:24 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c492ac7252 
								
							 
						 
						
							
							
								
								GH-131798: Split up and optimize CALL_ISINSTANCE (GH-133339)  
							
							
							
						 
						
							2025-05-08 14:26:30 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3f2f59a91d 
								
							 
						 
						
							
							
								
								gh-133273: Keep instruction definitions in bytecodes.c and optimizer_bytecodes.c in sync  (GH-133320)  
							
							
							
						 
						
							2025-05-09 01:54:49 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								296cd128bf 
								
							 
						 
						
							
							
								
								Revert "gh-133395: add option for extension modules to specialize BINARY_OP/SUBSCR, apply to arrays ( #133396 )" ( #133498 )  
							
							
							
						 
						
							2025-05-06 13:12:26 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Diego Russo 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9cc77aaf9d 
								
							 
						 
						
							
							
								
								GH-131798: Split CALL_LEN into several uops (GH-133180)  
							
							
							
						 
						
							2025-05-05 14:31:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								082dbf7788 
								
							 
						 
						
							
							
								
								gh-133395: add option for extension modules to specialize BINARY_OP/SUBSCR, apply to arrays ( #133396 )  
							
							
							
						 
						
							2025-05-05 17:46:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ddac7ac59a 
								
							 
						 
						
							
							
								
								gh-132744: Check recursion limit in CALL_PY_GENERAL (GH-132746)  
							
							
							
						 
						
							2025-05-02 17:36:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5529213d4e 
								
							 
						 
						
							
							
								
								gh-100239: specialize BINARY_OP/SUBSCR for list-slice ( #132626 )  
							
							
							
						 
						
							2025-05-01 10:28:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lysandros Nikolaou 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								60202609a2 
								
							 
						 
						
							
							
								
								gh-132661: Implement PEP 750 ( #132662 )  
							
							... 
							
							
							
							Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Wingy <git@wingysam.xyz>
Co-authored-by: Koudai Aono <koxudaxi@gmail.com>
Co-authored-by: Dave Peck <davepeck@gmail.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Paul Everitt <pauleveritt@me.com>
Co-authored-by: sobolevn <mail@sobolevn.me> 
							
						 
						
							2025-04-30 11:46:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nadeshiko Manju 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								614d79231d 
								
							 
						 
						
							
							
								
								gh-131798: JIT - Use sym_new_type instead of sym_new_not_null for _BUILD_STRING, _BUILD_SET (GH-132564)  
							
							... 
							
							
							
							Signed-off-by: Manjusaka <me@manjusaka.me> 
							
						 
						
							2025-04-27 20:30:28 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5e96e4fca8 
								
							 
						 
						
							
							
								
								gh-131798: JIT: Propagate the result in _BINARY_OP_SUBSCR_TUPLE_INT (GH-133003)  
							
							
							
						 
						
							2025-04-27 02:47:55 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Diego Russo 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4c20f46fa0 
								
							 
						 
						
							
							
								
								gh-131798: JIT: Narrow the return type of _CALL_LEN to int ( #132940 )  
							
							... 
							
							
							
							Reduce unnecessary guards whenever `len()` is called and used
after.
Co-authored-by: Max Bernstein <tekknolagi@gmail.com> 
							
						 
						
							2025-04-26 02:57:42 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								08e3389e8c 
								
							 
						 
						
							
							
								
								GH-131798: Split up and optimize CALL_TUPLE_1 in the JIT (GH-132851)  
							
							
							
						 
						
							2025-04-24 15:55:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0a387b311e 
								
							 
						 
						
							
							
								
								GH-131798: Split up and optimize CALL_STR_1 in the JIT (GH-132849)  
							
							
							
						 
						
							2025-04-24 12:54:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomas R. 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a6a3dbb7db 
								
							 
						 
						
							
							
								
								GH-131798: JIT: Split CALL_TYPE_1 into several uops (GH-132419)  
							
							
							
						 
						
							2025-04-22 09:30:38 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								da53660f35 
								
							 
						 
						
							
							
								
								gh-131586: Avoid refcount contention in context managers (gh-131851)  
							
							... 
							
							
							
							This avoid reference count contention in the free threading build
when calling special methods like `__enter__` and `__exit__`. 
							
						 
						
							2025-04-21 15:54:25 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4f7f72ce34 
								
							 
						 
						
							
							
								
								GH-130415: Improve the JIT's unneeded uop removal pass (GH-132333)  
							
							
							
						 
						
							2025-04-21 09:58:55 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								40ae88988c 
								
							 
						 
						
							
							
								
								GH-131498: Replace single-element arrays with scalars in bytecodes.c (GH-132615)  
							
							
							
						 
						
							2025-04-18 07:16:28 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nadeshiko Manju 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b9e88ff4cb 
								
							 
						 
						
							
							
								
								gh-131798: Use sym_new_type instead of sym_new_not_null for _BUILD_LIST, _BUILD_SLICE, and _BUILD_MAP (GH-132434)  
							
							... 
							
							
							
							---------
Signed-off-by: Manjusaka <me@manjusaka.me> 
							
						 
						
							2025-04-17 01:17:48 +08:00