Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								235cacff81 
								
							 
						 
						
							
							
								
								GH-114695: Add sys._clear_internal_caches (GH-115152)  
							
							
							
						 
						
							2024-02-12 09:04:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0e71a295e9 
								
							 
						 
						
							
							
								
								GH-113710: Add a "globals to constants" pass (GH-114592)  
							
							... 
							
							
							
							Converts specializations of `LOAD_GLOBAL` into constants during tier 2 optimization. 
							
						 
						
							2024-02-02 12:14:34 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kirill Podoprigora 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								191531f352 
								
							 
						 
						
							
							
								
								Update outdated comment in `Python/bytecodes.c` ( #114522 )  
							
							
							
						 
						
							2024-01-24 09:14:15 -08: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								384429d1c0 
								
							 
						 
						
							
							
								
								GH-113710: Add a tier 2 peephole optimization pass. (GH-114487)  
							
							... 
							
							
							
							* Convert _LOAD_CONST to inline versions
* Remove PEP 523 checks 
							
						 
						
							2024-01-24 12:08:31 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2f2ddabd1a 
								
							 
						 
						
							
							
								
								gh-113102: Fix typo in INSTRUMENTED_RESUME (GH-114349)  
							
							
							
						 
						
							2024-01-22 11:56:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ac10947ba7 
								
							 
						 
						
							
							
								
								GH-112354: _GUARD_IS_TRUE_POP side-exits to target the next instruction, not themselves. (GH-114078)  
							
							
							
						 
						
							2024-01-15 11:41:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ac92527c08 
								
							 
						 
						
							
							
								
								gh-113710: Add types to the interpreter DSL ( #113711 )  
							
							... 
							
							
							
							Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> 
							
						 
						
							2024-01-13 01:30:27 +08: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								737d23ffcd 
								
							 
						 
						
							
							
								
								GH-111485: Mark some instructions as TIER_ONE_ONLY (GH-113155)  
							
							
							
						 
						
							2023-12-15 13:03:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6873555955 
								
							 
						 
						
							
							
								
								GH-112354: Treat _EXIT_TRACE like an unconditional side exit (GH-113104)  
							
							
							
						 
						
							2023-12-14 14:26:44 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								07ebd46f9e 
								
							 
						 
						
							
							
								
								gh-112519: Make it possible to specify instruction flags for pseudo instructions in bytecodes.c ( #112520 )  
							
							
							
						 
						
							2023-11-30 11:03:30 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1995955173 
								
							 
						 
						
							
							
								
								gh-106529: Make FOR_ITER a viable uop ( #112134 )  
							
							... 
							
							
							
							This uses the new mechanism whereby certain uops
are replaced by others during translation,
using the `_PyUop_Replacements` table.
We further special-case the `_FOR_ITER_TIER_TWO` uop
to update the deoptimization target to point
just past the corresponding `END_FOR` opcode.
Two tiny code cleanups are also part of this PR. 
							
						 
						
							2023-11-20 10:08:53 -08: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								be0bd54c6b 
								
							 
						 
						
							
							
								
								gh-106529: Cleanups split off gh-112134 ( #112214 )  
							
							... 
							
							
							
							- Double max trace size to 256
- Add a dependency on executor_cases.c.h for ceval.o
- Mark `_SPECIALIZE_UNPACK_SEQUENCE` as `TIER_ONE_ONLY`
- Add debug output back showing the optimized trace
- Bunch of cleanups to Tools/cases_generator/ 
							
						 
						
							2023-11-17 11:49:42 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a519b87958 
								
							 
						 
						
							
							
								
								GH-111848: Convert remaining jumps to deopts into tier 2 code. (GH-112045)  
							
							
							
						 
						
							2023-11-14 15:30:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b11c443bb2 
								
							 
						 
						
							
							
								
								gh-111789: Simplify bytecodes.c by using PyDict_GetItemRef() (GH-111978)  
							
							
							
						 
						
							2023-11-14 15:38:49 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								34a03e951b 
								
							 
						 
						
							
							
								
								GH-111843: Tier 2 exponential backoff (GH-111850)  
							
							
							
						 
						
							2023-11-09 13:49:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								25c4956488 
								
							 
						 
						
							
							
								
								GH-109369: Exit tier 2 if executor is invalid (GH-111657)  
							
							
							
						 
						
							2023-11-09 11:19:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								06efb60264 
								
							 
						 
						
							
							
								
								GH-111848: Tidy up tier 2 handling of FOR_ITER specialization by using DEOPT_IF instead of jumps. (GH-111849)  
							
							
							
						 
						
							2023-11-08 13:31:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								931f4438c9 
								
							 
						 
						
							
							
								
								GH-111485: Allow arbitrary annotations on instructions and micro-ops. (GH-111697)  
							
							
							
						 
						
							2023-11-07 09:42:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3e99c9cbf6 
								
							 
						 
						
							
							
								
								GH-111485: Make BEFORE_WITH a uop (GH-111812)  
							
							
							
						 
						
							2023-11-06 16:42:49 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d49aba5a7a 
								
							 
						 
						
							
							
								
								gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state ( #111648 )  
							
							
							
						 
						
							2023-11-03 10:01:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AN Long 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3a1b09e6d0 
								
							 
						 
						
							
							
								
								gh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF ( #111655 )  
							
							
							
						 
						
							2023-11-02 21:06:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								52cc4af6ae 
								
							 
						 
						
							
							
								
								gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1  ( #111459 )  
							
							
							
						 
						
							2023-11-02 10:18:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e4b37835ef 
								
							 
						 
						
							
							
								
								GH-111485: Silence warnings in Python/executor_cases.c.h ( #111619 )  
							
							
							
						 
						
							2023-11-01 14:24:52 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7e135a48d6 
								
							 
						 
						
							
							
								
								gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter ( #111428 )  
							
							... 
							
							
							
							- There is no longer a separate Python/executor.c file.
- Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`,
  you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`).
- The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files.
- In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`.
- On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB.
- **Beware!** This changes the env vars to enable uops and their debugging
  to `PYTHON_UOPS` and `PYTHON_LLTRACE`. 
							
						 
						
							2023-11-01 13:13:02 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5697fc2d4b 
								
							 
						 
						
							
							
								
								GH-111537: Avoid using this_instr in asserts. (GH-111600)  
							
							
							
						 
						
							2023-11-01 12:59:08 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b14e882428 
								
							 
						 
						
							
							
								
								GH-111485: Use micro-ops to split specialization code from base action (GH-111561)  
							
							
							
						 
						
							2023-11-01 10:53:27 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2904d99839 
								
							 
						 
						
							
							
								
								GH-111485: Remove some special cases from the code generator and bytecodes.c (GH-111540)  
							
							
							
						 
						
							2023-10-31 13:21:07 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d27acd4461 
								
							 
						 
						
							
							
								
								GH-111485: Increment next_instr consistently at the start of the instruction. (GH-111486)  
							
							
							
						 
						
							2023-10-31 10:09:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikita Sobolev 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								524a701d07 
								
							 
						 
						
							
							
								
								gh-111386: Fix uint32_t cast in generated_cases.c.h ( #111387 )  
							
							
							
						 
						
							2023-10-27 12:37:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a0c414c35d 
								
							 
						 
						
							
							
								
								gh-111354: define names for RESUME oparg values ( #111365 )  
							
							
							
						 
						
							2023-10-26 16:30:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								67a91f78e4 
								
							 
						 
						
							
							
								
								gh-109094: replace frame->prev_instr by frame->instr_ptr ( #109095 )  
							
							
							
						 
						
							2023-10-26 13:43:10 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e5168ff3f8 
								
							 
						 
						
							
							
								
								GH-109214: _SET_IP before _PUSH_FRAME (but not _POP_FRAME) (GH-111001)  
							
							
							
						 
						
							2023-10-24 13:27:42 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7dd3c2b800 
								
							 
						 
						
							
							
								
								gh-109094: remove redundant arg to _PyFrame_PushTrampolineUnchecked (GH-110759)  
							
							
							
						 
						
							2023-10-12 11:02:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								19b7ead5eb 
								
							 
						 
						
							
							
								
								GH-109214: Convert _SAVE_CURRENT_IP to _SET_IP in tier 2 trace creation. (GH-110755)  
							
							
							
						 
						
							2023-10-12 10:34:32 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Michael Droettboom 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e561e98058 
								
							 
						 
						
							
							
								
								GH-109329: Add tier 2 stats (GH-109913)  
							
							
							
						 
						
							2023-10-04 14:52:28 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bf4bc36069 
								
							 
						 
						
							
							
								
								GH-109369: Merge all eval-breaker flags and monitoring version into one word. (GH-109846)  
							
							
							
						 
						
							2023-10-04 16:09:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7c149a76b2 
								
							 
						 
						
							
							
								
								gh-104909: Split more LOAD_ATTR specializations (GH-110317)  
							
							... 
							
							
							
							* Split LOAD_ATTR_MODULE
* Split LOAD_ATTR_WITH_HINT
* Split _GUARD_TYPE_VERSION out of the latter
* Split LOAD_ATTR_CLASS
* Split LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
* Fix indent of DEOPT_IF in macros
* Split LOAD_ATTR_METHOD_LAZY_DICT
* Split LOAD_ATTR_NONDESCRIPTOR_NO_DICT
* Fix omission of _CHECK_ATTR_METHOD_LAZY_DICT 
							
						 
						
							2023-10-04 16:08:02 +01:00