Jelle Zijlstra 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e8e151d471 
								
							 
						 
						
							
							
								
								gh-120780: Show attribute name for LOAD_SPECIAL in dis output ( #120781 )  
							
							
							
						 
						
							2024-06-20 07:07:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6ae254aaa0 
								
							 
						 
						
							
							
								
								gh-120417: Add #noqa to used imports in the stdlib ( #120421 )  
							
							... 
							
							
							
							Tools such as ruff can ignore "imported but unused" warnings if a
line ends with "# noqa: F401". It avoids the temptation to remove
an import which is used effectively. 
							
						 
						
							2024-06-13 16:14:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jelle Zijlstra 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								98e855fcc1 
								
							 
						 
						
							
							
								
								gh-119180: Add LOAD_COMMON_CONSTANT opcode ( #119321 )  
							
							... 
							
							
							
							The PEP 649 implementation will require a way to load NotImplementedError
from the bytecode. @markshannon suggested implementing this by converting
LOAD_ASSERTION_ERROR into a more general mechanism for loading constants.
This PR adds this new opcode. I will work on the rest of the implementation
of the PEP separately.
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> 
							
						 
						
							2024-05-22 00:46:39 +00: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bcce5e2718 
								
							 
						 
						
							
							
								
								gh-109039: Branch prediction for Tier 2 interpreter ( #109038 )  
							
							... 
							
							
							
							This adds a 16-bit inline cache entry to the conditional branch instructions POP_JUMP_IF_{FALSE,TRUE,NONE,NOT_NONE} and their instrumented variants, which is used to keep track of the branch direction.
Each time we encounter these instructions we shift the cache entry left by one and set the bottom bit to whether we jumped.
Then when it's time to translate such a branch to Tier 2 uops, we use the bit count from the cache entry to decided whether to continue translating the "didn't jump" branch or the "jumped" branch.
The counter is initialized to a pattern of alternating ones and zeros to avoid bias.
The .pyc file magic number is updated. There's a new test, some fixes for existing tests, and a few miscellaneous cleanups. 
							
						 
						
							2023-09-11 18:20:24 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								72119d16a5 
								
							 
						 
						
							
							
								
								gh-105481: remove regen-opcode. Generated _PyOpcode_Caches in regen-cases. ( #108367 )  
							
							
							
						 
						
							2023-08-23 18:39:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0b243c2f66 
								
							 
						 
						
							
							
								
								gh-105481: opcode.h is no longer generated during the build ( #108080 )  
							
							
							
						 
						
							2023-08-17 17:07:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								665a4391e1 
								
							 
						 
						
							
							
								
								gh-105481: generate op IDs from bytecode.c instead of hard coding them in opcode.py ( #107971 )  
							
							
							
						 
						
							2023-08-16 22:25:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dd693d6320 
								
							 
						 
						
							
							
								
								gh-105481: simplify definition of pseudo ops in Lib/opcode.py ( #107561 )  
							
							
							
						 
						
							2023-08-02 18:16:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6ef8f8ca88 
								
							 
						 
						
							
							
								
								gh-105481: the ENABLE_SPECIALIZATION flag does not need to be generated by the build script, or exposed in opcode.py ( #107534 )  
							
							
							
						 
						
							2023-08-01 17:05:00 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d77d973335 
								
							 
						 
						
							
							
								
								gh-105481: remove dependency of _inline_cache_entries on opname ( #107339 )  
							
							
							
						 
						
							2023-07-27 14:15:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9c81fc2dbe 
								
							 
						 
						
							
							
								
								gh-105481: do not auto-generate pycore_intrinsics.h ( #106913 )  
							
							
							
						 
						
							2023-07-20 17:46:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								40f3f11a77 
								
							 
						 
						
							
							
								
								gh-105481: Generate the opcode lists in dis from data extracted from bytecodes.c ( #106758 )  
							
							
							
						 
						
							2023-07-18 19:42:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5ecedbd266 
								
							 
						 
						
							
							
								
								gh-106789: avoid importing pprint from sysconfig ( #106790 )  
							
							
							
						 
						
							2023-07-17 10:28:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b2d94d875 
								
							 
						 
						
							
							
								
								GH-106008: Make implicit boolean conversions explicit (GH-106003)  
							
							
							
						 
						
							2023-06-29 13:49:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									hms 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8bff940ad6 
								
							 
						 
						
							
							
								
								gh-105775: Convert LOAD_CLOSURE to a pseudo-op ( #106059 )  
							
							... 
							
							
							
							This enables super-instruction formation,
removal of checks for uninitialized variables,
and frees up an instruction. 
							
						 
						
							2023-06-29 09:34:00 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04492cbc9a 
								
							 
						 
						
							
							
								
								GH-91095: Specialize calls to normal Python classes. (GH-99331)  
							
							
							
						 
						
							2023-06-22 09:48:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								33f0a8578b 
								
							 
						 
						
							
							
								
								gh-105481: generate _specializations and _specialized_instructions from bytecodes.c ( #105913 )  
							
							
							
						 
						
							2023-06-19 23:47:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1d857da7f0 
								
							 
						 
						
							
							
								
								GH-77273: Better bytecodes for f-strings (GH-6132)  
							
							
							
						 
						
							2023-06-14 16:15:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								09ffa69e2e 
								
							 
						 
						
							
							
								
								GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (GH-105680)  
							
							
							
						 
						
							2023-06-13 09:51:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e830289c52 
								
							 
						 
						
							
							
								
								GH-105229: Remove remaining two-codeunit superinstructions (GH-105326)  
							
							... 
							
							
							
							* Remove LOAD_CONST__LOAD_FAST and LOAD_FAST__LOAD_CONST superinstructions. 
							
						 
						
							2023-06-08 12:35:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0689340366 
								
							 
						 
						
							
							
								
								GH-105229: Replace some superinstructions with single instruction equivalent. (GH-105230)  
							
							
							
						 
						
							2023-06-05 11:07:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4bfa01b9d9 
								
							 
						 
						
							
							
								
								GH-104584: Plugin optimizer API (GH-105100)  
							
							
							
						 
						
							2023-06-02 11:46:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f40890b124 
								
							 
						 
						
							
							
								
								gh-103865: add monitoring support to LOAD_SUPER_ATTR ( #103866 )  
							
							
							
						 
						
							2023-05-16 10:29:00 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jelle Zijlstra 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								24d8b88420 
								
							 
						 
						
							
							
								
								gh-103763: Implement PEP 695 ( #103764 )  
							
							... 
							
							
							
							This implements PEP 695, Type Parameter Syntax. It adds support for:
- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules 
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Eric Traut <eric@traut.com>
Co-authored-by: Larry Hastings <larry@hastings.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> 
							
						 
						
							2023-05-15 20:36:23 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								77262458fe 
								
							 
						 
						
							
							
								
								gh-87729: improve hit rate of LOAD_SUPER_ATTR specialization ( #104270 )  
							
							
							
						 
						
							2023-05-11 08:08:13 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c3b595e73e 
								
							 
						 
						
							
							
								
								gh-97933: (PEP 709) inline list/dict/set comprehensions ( #101441 )  
							
							... 
							
							
							
							Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> 
							
						 
						
							2023-05-09 11:02:14 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Juhi Chandalia 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								872cbc6132 
								
							 
						 
						
							
							
								
								GH-103963: Make dis display names of args for intrinsics opcodes ( #104029 )  
							
							
							
						 
						
							2023-05-02 19:00:17 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ef25febcf2 
								
							 
						 
						
							
							
								
								gh-87729: specialize LOAD_SUPER_ATTR_METHOD ( #103809 )  
							
							
							
						 
						
							2023-04-25 17:45:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Carl Meyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0dc8b50d33 
								
							 
						 
						
							
							
								
								gh-87729: add LOAD_SUPER_ATTR instruction for faster super() ( #103497 )  
							
							... 
							
							
							
							This speeds up `super()` (by around 85%, for a simple one-level
`super().meth()` microbenchmark) by avoiding allocation of a new
single-use `super()` object on each use. 
							
						 
						
							2023-04-24 22:22:14 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								411b169281 
								
							 
						 
						
							
							
								
								GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython (GH-103083)  
							
							... 
							
							
							
							* The majority of the monitoring code is in instrumentation.c
* The new instrumentation bytecodes are in bytecodes.c
* legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs 
							
						 
						
							2023-04-12 12:04:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b4978ff872 
								
							 
						 
						
							
							
								
								GH-88691: Shrink the CALL caches (GH-103230)  
							
							
							
						 
						
							2023-04-05 14:15:49 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								121057aa36 
								
							 
						 
						
							
							
								
								GH-89987: Shrink the BINARY_SUBSCR caches (GH-103022)  
							
							
							
						 
						
							2023-03-29 15:53:30 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0444ae2487 
								
							 
						 
						
							
							
								
								GH-100982: Break up COMPARE_AND_BRANCH (GH-102801)  
							
							
							
						 
						
							2023-03-23 15:25:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3468c768ce 
								
							 
						 
						
							
							
								
								gh-102859: Remove JUMP_IF_FALSE_OR_POP and JUMP_IF_TRUE_OR_POP ( #102870 )  
							
							
							
						 
						
							2023-03-22 18:10:48 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dong-hee Na 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d77c48740f 
								
							 
						 
						
							
							
								
								gh-102674: Remove _specialization_stats from Lib/opcode.py ( #102685 )  
							
							... 
							
							
							
							It's not use except in a test, so move it there instead. 
							
						 
						
							2023-03-14 13:20:14 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								08b67fb34f 
								
							 
						 
						
							
							
								
								GH-90997: Shrink the LOAD_GLOBAL caches ( #102569 )  
							
							
							
						 
						
							2023-03-10 17:01:16 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								81e3aa835c 
								
							 
						 
						
							
							
								
								gh-101799: implement PREP_RERAISE_STAR as an intrinsic function ( #101800 )  
							
							
							
						 
						
							2023-02-14 11:54:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								160f2fe2b9 
								
							 
						 
						
							
							
								
								GH-87849: Simplify stack effect of SEND and specialize it for generators and coroutines. (GH-101788)  
							
							
							
						 
						
							2023-02-13 11:24:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									penguin_wwy 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								753fc8a5d6 
								
							 
						 
						
							
							
								
								gh-101632: Add the new RETURN_CONST opcode ( #101633 )  
							
							
							
						 
						
							2023-02-07 22:32:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e9ccfe4a63 
								
							 
						 
						
							
							
								
								gh-100712: make it possible to disable specialization (for debugging) ( #100713 )  
							
							
							
						 
						
							2023-01-19 18:14:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b14c2ef19 
								
							 
						 
						
							
							
								
								GH-100982: Add COMPARE_AND_BRANCH instruction (GH-100983)  
							
							
							
						 
						
							2023-01-16 12:35:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6e4e14d98f 
								
							 
						 
						
							
							
								
								GH-100923: Embed jump mask in COMPARE_OP oparg (GH-100924)  
							
							
							
						 
						
							2023-01-11 20:40:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								78068126a1 
								
							 
						 
						
							
							
								
								GH-99005: More intrinsics (GH-100774)  
							
							... 
							
							
							
							* Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics. 
							
						 
						
							2023-01-06 14:47:57 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								28187141cc 
								
							 
						 
						
							
							
								
								GH-99005: Add CALL_INTRINSIC_1 instruction (GH-100771)  
							
							... 
							
							
							
							* Remove PRINT_EXPR instruction
* Remove STOPITERATION_ERROR instruction
* Remove IMPORT_STAR instruction 
							
						 
						
							2023-01-05 16:05:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f20c553a45 
								
							 
						 
						
							
							
								
								GH-100288: Remove LOAD_ATTR_METHOD_WITH_DICT instruction. (GH-100753)  
							
							
							
						 
						
							2023-01-05 12:20:09 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								36d358348d 
								
							 
						 
						
							
							
								
								Revert "gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries (GH-100289)" ( #100468 )  
							
							... 
							
							
							
							This reverts commit c3c7848a48 
							
						 
						
							2022-12-24 01:48:43 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c3c7848a48 
								
							 
						 
						
							
							
								
								gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries (GH-100289)  
							
							
							
						 
						
							2022-12-24 00:26:42 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								748c6c0921 
								
							 
						 
						
							
							
								
								GH-100110: Specialize FOR_ITER for tuples (GH-100109)  
							
							... 
							
							
							
							* Specialize FOR_ITER for tuples 
							
						 
						
							2022-12-09 10:27:01 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8555dee5ae 
								
							 
						 
						
							
							
								
								GH-98686: Get rid of BINARY_OP_GENERIC and COMPARE_OP_GENERIC (GH-99399)  
							
							
							
						 
						
							2022-11-17 11:36:57 -08:00