Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								da071fa3e8 
								
							 
						 
						
							
							
								
								GH-119866: Spill the stack around escaping calls. (GH-124392)  
							
							... 
							
							
							
							* Spill the evaluation around escaping calls in the generated interpreter and JIT. 
* The code generator tracks live, cached values so they can be saved to memory when needed.
* Spills the stack pointer around escaping calls, so that the exact stack is visible to the cycle GC. 
							
						 
						
							2024-10-07 14:56:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5d3201fe3f 
								
							 
						 
						
							
							
								
								GH-123040: Specialize shadowed LOAD_ATTR. (GH-123219)  
							
							
							
						 
						
							2024-08-23 10:22:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c13e7d98fb 
								
							 
						 
						
							
							
								
								GH-118093: Specialize CALL_KW (GH-123006)  
							
							
							
						 
						
							2024-08-16 17:11:24 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								eec7bdaf01 
								
							 
						 
						
							
							
								
								GH-120024: Remove CHECK_EVAL_BREAKER macro. (GH-122968)  
							
							... 
							
							
							
							* Factor some instructions into micro-ops to isolate CHECK_EVAL_BREAKER for escape analysis
* Eliminate CHECK_EVAL_BREAKER macro 
							
						 
						
							2024-08-14 12:04:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7a65439b93 
								
							 
						 
						
							
							
								
								GH-122390: Replace _Py_GetbaseOpcode with _Py_GetBaseCodeUnit (GH-122942)  
							
							
							
						 
						
							2024-08-13 14:22:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								95a73917cd 
								
							 
						 
						
							
							
								
								GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is consistent with CALL (GH-122177)  
							
							
							
						 
						
							2024-07-26 14:35:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								afb0aa6ed2 
								
							 
						 
						
							
							
								
								GH-121131: Clean up and fix some instrumented instructions. (GH-121132)  
							
							... 
							
							
							
							* Add support for 'prev_instr' to code generator and refactor some INSTRUMENTED instructions 
							
						 
						
							2024-07-26 12:24:12 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2e14a52cce 
								
							 
						 
						
							
							
								
								GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164)  
							
							
							
						 
						
							2024-07-25 16:24:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9cefcc0ee7 
								
							 
						 
						
							
							
								
								GH-120507: Lower the BEFORE_WITH and BEFORE_ASYNC_WITH instructions. ( #120640 )  
							
							... 
							
							
							
							* Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions.
* Add LOAD_SPECIAL instruction
* Reimplement `with` and `async with` statements using LOAD_SPECIAL 
							
						 
						
							2024-06-18 12:17:46 +01: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1ab6356ebe 
								
							 
						 
						
							
							
								
								GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322)  
							
							... 
							
							
							
							* Add CALL_PY_GENERAL, CALL_BOUND_METHOD_GENERAL and call CALL_NON_PY_GENERAL specializations.
* Remove CALL_PY_WITH_DEFAULTS specialization
* Use CALL_NON_PY_GENERAL in more cases when otherwise failing to specialize 
							
						 
						
							2024-05-04 12:11:11 +01: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								de8a4e52a5 
								
							 
						 
						
							
							
								
								GH-111485: Generate TARGET table for computed goto dispatch. (GH-113319)  
							
							
							
						 
						
							2023-12-20 15:09:12 +00: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								22e65eecaa 
								
							 
						 
						
							
							
								
								GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)  
							
							
							
						 
						
							2023-09-13 10:25:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8b55adfa8f 
								
							 
						 
						
							
							
								
								gh-109256: allocate opcode IDs for internal opcodes in their own range ( #109269 )  
							
							
							
						 
						
							2023-09-12 10:36:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0858328ca2 
								
							 
						 
						
							
							
								
								GH-108614: Add RESUME_CHECK instruction (GH-108630)  
							
							
							
						 
						
							2023-09-07 14:39:03 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ea72c6fe3b 
								
							 
						 
						
							
							
								
								GH-107596: Specialize str[int] (GH-107597)  
							
							
							
						 
						
							2023-08-08 13:42:43 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0c90e75610 
								
							 
						 
						
							
							
								
								GH-100288: Specialize LOAD_ATTR for simple class attributes. ( #105990 )  
							
							... 
							
							
							
							* Add two more specializations of LOAD_ATTR. 
							
						 
						
							2023-07-10 11:40:35 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b14c2ef19 
								
							 
						 
						
							
							
								
								GH-100982: Add COMPARE_AND_BRANCH instruction (GH-100983)  
							
							
							
						 
						
							2023-01-16 12:35:21 +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