Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								060a96f1a9 
								
							 
						 
						
							
							
								
								gh-116968: Reimplement Tier 2 counters ( #117144 )  
							
							... 
							
							
							
							Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``),
shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The
API used for adaptive specialization counters is changed but the behavior is
(supposed to be) identical.
The behavior of the Tier 2 counters is changed:
- There are no longer dynamic thresholds (we never varied these).
- All counters now use the same exponential backoff.
- The counter for ``JUMP_BACKWARD`` starts counting down from 16.
- The ``temperature`` in side exits starts counting down from 64. 
							
						 
						
							2024-04-04 15:03:27 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c32dc47aca 
								
							 
						 
						
							
							
								
								GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115)  
							
							
							
						 
						
							2024-04-02 11:59:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								19c1dd60c5 
								
							 
						 
						
							
							
								
								gh-117323: Make cell thread-safe in free-threaded builds ( #117330 )  
							
							... 
							
							
							
							Use critical sections to lock around accesses to cell contents. The critical sections are no-ops in the default (with GIL) build. 
							
						 
						
							2024-03-29 13:35:43 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bf82f77957 
								
							 
						 
						
							
							
								
								GH-116422: Tier2 hot/cold splitting (GH-116813)  
							
							... 
							
							
							
							Splits the "cold" path, deopts and exits, from the "hot" path, reducing the size of most jitted instructions, at the cost of slower exits. 
							
						 
						
							2024-03-26 09:35:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								950667ed07 
								
							 
						 
						
							
							
								
								GH-115802: Reduce the size of _INIT_CALL_PY_EXACT_ARGS. (GH-116856)  
							
							
							
						 
						
							2024-03-15 17:16:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								59e30f41ed 
								
							 
						 
						
							
							
								
								gh-116735: Use MISSING for CALL event if argument is absent (GH-116737)  
							
							
							
						 
						
							2024-03-15 14:46:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2cf18a4430 
								
							 
						 
						
							
							
								
								GH-116422: Modify a few uops so that they can be supported by tier 2 with hot/cold splitting (GH-116832)  
							
							
							
						 
						
							2024-03-15 10:48:00 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								61e54bfcee 
								
							 
						 
						
							
							
								
								GH-116422: Factor out eval breaker checks at end of calls into its own micro-op. (GH-116817)  
							
							
							
						 
						
							2024-03-14 16:31:47 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Michael Droettboom 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cef0ec1a3c 
								
							 
						 
						
							
							
								
								gh-116760: Fix pystats for trace attempts (GH-116761)  
							
							... 
							
							
							
							There are now at least two bytecodes that may attempt to optimize,
JUMP_BACK, and more recently, COLD_EXIT.
Only the JUMP_BACK was counting the attempt in the stats.
This moves that counter to uop_optimize itself so it should
always happen no matter where it is called from. 
							
						 
						
							2024-03-13 22:13:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8332e85b2f 
								
							 
						 
						
							
							
								
								gh-116626: Emit CALL events for all INSTRUMENTED_CALL_FUNCTION_EX (GH-116627)  
							
							
							
						 
						
							2024-03-13 08:28:01 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4e5df2013f 
								
							 
						 
						
							
							
								
								GH-116468: Use constants instead of oparg in stack effects when oparg is known to be a constant. (GH-116469)  
							
							
							
						 
						
							2024-03-11 09:30:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								41457c7fdb 
								
							 
						 
						
							
							
								
								gh-116381: Remove bad specializations, add fail stats (GH-116464)  
							
							... 
							
							
							
							* Remove bad specializations, add fail stats 
							
						 
						
							2024-03-08 00:21:21 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								72d3cc94cd 
								
							 
						 
						
							
							
								
								gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438)  
							
							
							
						 
						
							2024-03-07 11:21:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7114cf20c0 
								
							 
						 
						
							
							
								
								gh-116381: Specialize CONTAINS_OP (GH-116385)  
							
							... 
							
							
							
							* Specialize CONTAINS_OP
* 📜 🤖  Added by blurb_it.
* Add PyAPI_FUNC for JIT
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> 
							
						 
						
							2024-03-07 03:30:11 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								23db9c6227 
								
							 
						 
						
							
							
								
								GH-115685: Split _TO_BOOL_ALWAYS_TRUE into micro-ops (GH-116352)  
							
							
							
						 
						
							2024-03-05 15:23:08 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7895a61168 
								
							 
						 
						
							
							
								
								gh-116098: Revert "gh-107674: Improve performance of sys.settrace (GH-114986)" (GH-116178)  
							
							... 
							
							
							
							Revert "gh-107674: Improve performance of `sys.settrace` (GH-114986)"
This reverts commit 0a61e23700 
							
						 
						
							2024-03-01 07:46:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brett Simmers 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								339c8e1c13 
								
							 
						 
						
							
							
								
								gh-115999: Disable the specializing adaptive interpreter in free-threaded builds ( #116013 )  
							
							... 
							
							
							
							For now, disable all specialization when the GIL might be disabled. 
							
						 
						
							2024-02-29 21:53:32 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f0df35eeca 
								
							 
						 
						
							
							
								
								GH-115802: JIT "small" code for Windows (GH-115964)  
							
							
							
						 
						
							2024-02-29 08:11:28 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tian Gao 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0a61e23700 
								
							 
						 
						
							
							
								
								gh-107674: Improve performance of sys.settrace (GH-114986)  
							
							
							
						 
						
							2024-02-28 15:21:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kirill Podoprigora 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e4561e0501 
								
							 
						 
						
							
							
								
								gh-115778: Add tierN annotation for instruction definitions ( #115815 )  
							
							... 
							
							
							
							This replaces the old `TIER_{ONE,TWO}_ONLY` macros. Note that `specialized` implies `tier1`.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> 
							
						 
						
							2024-02-23 17:31:57 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b348313e7a 
								
							 
						 
						
							
							
								
								GH-115651: Convert LOAD_MODULE_ATTR into LOAD_INLINE_CONST when the module is itself a constant. (GH-115711)  
							
							
							
						 
						
							2024-02-22 14:48:25 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								520403ed4c 
								
							 
						 
						
							
							
								
								gh-115733: Fix crash involving exhausted list iterator ( #115740 )  
							
							... 
							
							
							
							* gh-115733: Fix crash involving exhausted iterator
* Add blurb 
							
						 
						
							2024-02-21 05:18:44 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brett Simmers 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0749244d13 
								
							 
						 
						
							
							
								
								gh-112175: Add eval_breaker to PyThreadState ( #115194 )  
							
							... 
							
							
							
							This change adds an `eval_breaker` field to `PyThreadState`. The primary
motivation is for performance in free-threaded builds: with thread-local eval
breakers, we can stop a specific thread (e.g., for an async exception) without
interrupting other threads.
The source of truth for the global instrumentation version is stored in the
`instrumentation_version` field in PyInterpreterState. Threads usually read the
version from their local `eval_breaker`, where it continues to be colocated
with the eval breaker bits. 
							
						 
						
							2024-02-20 09:57:48 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dcba21f905 
								
							 
						 
						
							
							
								
								gh-115687: Split up guards from COMPARE_OP (GH-115688)  
							
							
							
						 
						
							2024-02-20 11:30:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								626c414995 
								
							 
						 
						
							
							
								
								GH-115457: Support splitting and replication of micro ops.  (GH-115558)  
							
							
							
						 
						
							2024-02-20 10:50:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b21403ccd 
								
							 
						 
						
							
							
								
								GH-112354: Initial implementation of warm up on exits and trace-stitching (GH-114142)  
							
							
							
						 
						
							2024-02-20 09:39:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									David Hewitt 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9e3729bbd7 
								
							 
						 
						
							
							
								
								gh-114626: add PyCFunctionFast and PyCFunctionFastWithKeywords (GH-114627)  
							
							... 
							
							
							
							Co-authored-by: Petr Viktorin <encukou@gmail.com> 
							
						 
						
							2024-02-15 11:05:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Donghee Na 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a2d4281415 
								
							 
						 
						
							
							
								
								gh-112087: Make __sizeof__ and listiter_{len, next} to be threadsafe (gh-114843)  
							
							
							
						 
						
							2024-02-15 02:00:50 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f9f6156c5a 
								
							 
						 
						
							
							
								
								GH-113710: Backedge counter improvements. (GH-115166)  
							
							
							
						 
						
							2024-02-13 14:16:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7cce857622 
								
							 
						 
						
							
							
								
								gh-114058: Foundations of the Tier2 redundancy eliminator (GH-115085)  
							
							... 
							
							
							
							---------
Co-authored-by: Mark Shannon <9448417+markshannon@users.noreply.github.com>
Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com>
Co-authored-by: Guido van Rossum <gvanrossum@users.noreply.github.com> 
							
						 
						
							2024-02-13 21:24:48 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								235cacff81 
								
							 
						 
						
							
							
								
								GH-114695: Add sys._clear_internal_caches (GH-115152)  
							
							
							
						 
						
							2024-02-12 09:04:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								981d172f7f 
								
							 
						 
						
							
							
								
								GH-112354: END_FOR instruction to only pop one value. (GH-114247)  
							
							... 
							
							
							
							* Compiler emits END_FOR; POP_TOP instead of END_FOR. To support tier 2 side exits in loops. 
							
						 
						
							2024-01-24 15:10:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2f2ddabd1a 
								
							 
						 
						
							
							
								
								gh-113102: Fix typo in INSTRUMENTED_RESUME (GH-114349)  
							
							
							
						 
						
							2024-01-22 11:56:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								30e6cbdba2 
								
							 
						 
						
							
							
								
								GH-113860: Get rid of _PyUOpExecutorObject (GH-113954)  
							
							
							
						 
						
							2024-01-12 11:58:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								55824d01f8 
								
							 
						 
						
							
							
								
								GH-113853: Guarantee forward progress in executors (GH-113854)  
							
							
							
						 
						
							2024-01-11 18:20:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a0c9cf9456 
								
							 
						 
						
							
							
								
								GH-113860: All executors are now defined in terms of micro ops. Convert counter executor to use uops. (GH-113864)  
							
							
							
						 
						
							2024-01-10 15:44:34 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								35ef8cb259 
								
							 
						 
						
							
							
								
								GH-113689: Fix broken handling of invalid executors (GH-113694)  
							
							
							
						 
						
							2024-01-04 11:14:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dc8df6e840 
								
							 
						 
						
							
							
								
								GH-113595: Don't enter invalid executor (GH-113596)  
							
							
							
						 
						
							2024-01-03 11:01:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								723f4d6698 
								
							 
						 
						
							
							
								
								GH-111485: Delete the old generator code. (GH-113321)  
							
							
							
						 
						
							2023-12-21 12:46:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carey Metcalfe 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a2dd0e7038 
								
							 
						 
						
							
							
								
								gh-111375: Use NULL rather than None in the exception stack to indicate that an exception was handled ( #113302 )  
							
							
							
						 
						
							2023-12-21 01:46:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e96f26083b 
								
							 
						 
						
							
							
								
								GH-111485: Generate instruction and uop metadata (GH-113287)  
							
							
							
						 
						
							2023-12-20 14:27:25 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								70d378cdaa 
								
							 
						 
						
							
							
								
								GH-111485: Break up instructions with unused cache entries into component micro-ops (GH-113169)  
							
							
							
						 
						
							2023-12-18 13:16:45 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								771903596b 
								
							 
						 
						
							
							
								
								GH-111485: Test the new cases generator (GH-113252)  
							
							
							
						 
						
							2023-12-18 11:14:40 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								737d23ffcd 
								
							 
						 
						
							
							
								
								GH-111485: Mark some instructions as TIER_ONE_ONLY (GH-113155)  
							
							
							
						 
						
							2023-12-15 13:03:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								956023826a 
								
							 
						 
						
							
							
								
								GH-108866: Guarantee forward progress in executors. (GH-113006)  
							
							
							
						 
						
							2023-12-12 19:02:24 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0c55f27060 
								
							 
						 
						
							
							
								
								GH-111485: Factor out tier 2 code generation from the rest of the interpreter code generator (GH-112968)  
							
							
							
						 
						
							2023-12-12 12:12:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b449415b2f 
								
							 
						 
						
							
							
								
								GH-111485: Separate out parsing, analysis and code-gen phases of tier 1 code generator (GH-112299)  
							
							
							
						 
						
							2023-12-07 12:49:40 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e723700190 
								
							 
						 
						
							
							
								
								Rename ...Uop... to ...UOp... (uppercase O) for consistency ( #112327 )  
							
							... 
							
							
							
							* Rename _PyUopExecute to _PyUOpExecute (uppercase O) for consistency
* Also rename _PyUopName and _PyUOp_Replacements, and some output strings 
							
						 
						
							2023-11-28 17:10:11 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1619f4350e 
								
							 
						 
						
							
							
								
								GH-111485: Sort cases in the case generator output (GH-112315)  
							
							
							
						 
						
							2023-11-22 15:19:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								eb3c94ea66 
								
							 
						 
						
							
							
								
								gh-110319: Assert type_version != 0 before using it ( #112226 )  
							
							... 
							
							
							
							- Ensure that `assert(type_version != 0);` always comes *before* using `type_version`
Also:
- In cases_generator, rename `-v` to from `--verbose` to `--viable` 
							
						 
						
							2023-11-17 20:58:13 -08:00