Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								45f5aa8fc7 
								
							 
						 
						
							
							
								
								GH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)  
							
							... 
							
							
							
							When monitoring LINE events, instrument all instructions that can have a predecessor on a different line.
Then check that the a new line has been hit in the instrumentation code.
This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools. 
							
						 
						
							2023-05-12 12:21:20 +01: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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1670729383 
								
							 
						 
						
							
							
								
								gh-87849: fix SEND specialization family definition (GH-104268)  
							
							
							
						 
						
							2023-05-11 12:52:06 +01: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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b4978ff872 
								
							 
						 
						
							
							
								
								GH-88691: Shrink the CALL caches (GH-103230)  
							
							
							
						 
						
							2023-04-05 14:15:49 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								80163e17d3 
								
							 
						 
						
							
							
								
								gh-87092: move CFG related code from compile.c to flowgraph.c ( #103021 )  
							
							
							
						 
						
							2023-03-31 18:17:59 +01: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								675b97a6ab 
								
							 
						 
						
							
							
								
								gh-102738: remove from cases generator the code related to register instructions ( #102739 )  
							
							
							
						 
						
							2023-03-15 21:25:31 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								08b67fb34f 
								
							 
						 
						
							
							
								
								GH-90997: Shrink the LOAD_GLOBAL caches ( #102569 )  
							
							
							
						 
						
							2023-03-10 17:01:16 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jacob Bower 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8de59c1bb9 
								
							 
						 
						
							
							
								
								gh-102021 : Allow multiple input files for interpreter loop generator ( #102022 )  
							
							... 
							
							
							
							The input files no longer use `-i`. 
							
						 
						
							2023-03-03 20:59:21 -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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								65b7b6bd23 
								
							 
						 
						
							
							
								
								gh-98831: Use opcode metadata for stack_effect() ( #101704 )  
							
							... 
							
							
							
							* Write output and metadata in a single run
  This halves the time to run the cases generator
  (most of the time goes into parsing the input).
* Declare or define opcode metadata based on NEED_OPCODE_TABLES
* Use generated metadata for stack_effect()
* compile.o depends on opcode_metadata.h
* Return -1 from _PyOpcode_num_popped/pushed for unknown opcode 
							
						 
						
							2023-02-08 16:23:19 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								616aec1ff1 
								
							 
						 
						
							
							
								
								gh-98831: Modernize CALL and family ( #101508 )  
							
							... 
							
							
							
							Includes a slight improvement to `DECREF_INPUTS()`. 
							
						 
						
							2023-02-08 11:40:10 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a9f01448a9 
								
							 
						 
						
							
							
								
								gh-98831: Modernize CALL_FUNCTION_EX ( #101627 )  
							
							... 
							
							
							
							New generator feature: Move CHECK_EVAL_BREAKER() call to just before DISPATCH(). 
							
						 
						
							2023-02-07 20:03:22 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b2b85b5db9 
								
							 
						 
						
							
							
								
								gh-98831: Modernize FORMAT_VALUE ( #101628 )  
							
							... 
							
							
							
							Generator update: support balanced parentheses and brackets in conditions and size expressions. 
							
						 
						
							2023-02-07 17:35:55 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aacbdb0c65 
								
							 
						 
						
							
							
								
								gh-98831: Finish the UNPACK_SEQUENCE family ( #101666 )  
							
							... 
							
							
							
							New generator feature: Generate useful glue for output arrays, so you can just write values to the output array (no bounds checking). Rewrote UNPACK_SEQUENCE_TWO_TUPLE to use this, and also UNPACK_SEQUENCE_{TUPLE,LIST}. 
							
						 
						
							2023-02-07 15:44:37 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									penguin_wwy 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								753fc8a5d6 
								
							 
						 
						
							
							
								
								gh-101632: Add the new RETURN_CONST opcode ( #101633 )  
							
							
							
						 
						
							2023-02-07 22:32:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dec1ab0387 
								
							 
						 
						
							
							
								
								gh-98831: rewrite UNPACK_EX, UNPACK_SEQUENCE, UNPACK_SEQUENCE_TWO_TUPLE in the instruction definition DSL  ( #101641 )  
							
							
							
						 
						
							2023-02-07 20:37:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d54b8d8fbd 
								
							 
						 
						
							
							
								
								gh-98831: Modernize the FOR_ITER family of instructions ( #101626 )  
							
							... 
							
							
							
							Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> 
							
						 
						
							2023-02-07 08:28:28 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								38752760c9 
								
							 
						 
						
							
							
								
								gh-98831: rewrite COPY and SWAP in the instruction definition DSL ( #101620 )  
							
							
							
						 
						
							2023-02-06 22:45:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								433fb3ef08 
								
							 
						 
						
							
							
								
								gh-98831: rewrite MAKE_FUNCTION and BUILD_SLICE in the instruction definition DSL ( #101529 )  
							
							
							
						 
						
							2023-02-03 14:40:45 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04e06e20ee 
								
							 
						 
						
							
							
								
								gh-98831: rewrite SEND, GET_YIELD_FROM_ITER, RETURN_GENERATOR in the instruction definition DSL ( #101516 )  
							
							
							
						 
						
							2023-02-03 11:30:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0675b8f032 
								
							 
						 
						
							
							
								
								gh-98831: rewrite RERAISE and CLEANUP_THROW in the instruction definition DSL ( #101511 )  
							
							
							
						 
						
							2023-02-02 10:02:57 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ae9b38f424 
								
							 
						 
						
							
							
								
								gh-98831: Modernize the LOAD_GLOBAL family ( #101502 )  
							
							
							
						 
						
							2023-02-01 13:12:49 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b91b42d236 
								
							 
						 
						
							
							
								
								gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction definition DSL ( #101481 )  
							
							
							
						 
						
							2023-02-01 19:38:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7840ff3cdb 
								
							 
						 
						
							
							
								
								gh-98831: Modernize the LOAD_ATTR family ( #101488 )  
							
							
							
						 
						
							2023-02-01 10:56:52 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0062f538d9 
								
							 
						 
						
							
							
								
								gh-98831: rewrite BEFORE_ASYNC_WITH and END_ASYNC_FOR in the instruction definition DSL ( #101458 )  
							
							
							
						 
						
							2023-01-31 18:47:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								29a858b85f 
								
							 
						 
						
							
							
								
								gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL ( #101443 )  
							
							
							
						 
						
							2023-01-31 10:23:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f5a3d91b6c 
								
							 
						 
						
							
							
								
								gh-98831: Support conditional effects; use for LOAD_ATTR ( #101333 )  
							
							
							
						 
						
							2023-01-29 17:28:39 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b400219df5 
								
							 
						 
						
							
							
								
								gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL ( #101306 )  
							
							
							
						 
						
							2023-01-25 22:29:56 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								19f90d6b97 
								
							 
						 
						
							
							
								
								gh-98831: add variable stack effect support to cases generator ( #101309 )  
							
							
							
						 
						
							2023-01-25 20:41:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1a9d8c750b 
								
							 
						 
						
							
							
								
								gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ( #101287 )  
							
							
							
						 
						
							2023-01-24 22:39:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f02fa64bf2 
								
							 
						 
						
							
							
								
								GH-100762: Don't call gen.throw() in gen.close(), unless necessary. (GH-101013)  
							
							... 
							
							
							
							* Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible. 
							
						 
						
							2023-01-24 17:25:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8c183cddd3 
								
							 
						 
						
							
							
								
								gh-98831: rewrite CHECK_EG_MATCH opcode in the instruction definition DSL ( #101269 )  
							
							
							
						 
						
							2023-01-24 09:43:16 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								80e3e3423c 
								
							 
						 
						
							
							
								
								GH-98831: Implement array support in cases generator ( #100912 )  
							
							... 
							
							
							
							You can now write things like this:
```
inst(BUILD_STRING, (pieces[oparg] -- str)) { ... }
inst(LIST_APPEND, (list, unused[oparg-1], v -- list, unused[oparg-1])) { ... }
```
Note that array output effects are only partially supported (they must be named `unused` or correspond to an input effect). 
							
						 
						
							2023-01-17 15:59:19 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b14c2ef19 
								
							 
						 
						
							
							
								
								GH-100982: Add COMPARE_AND_BRANCH instruction (GH-100983)  
							
							
							
						 
						
							2023-01-16 12:35:21 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5134ef4878 
								
							 
						 
						
							
							
								
								GH-98831: Identify instructions that don't use oparg ( #100957 )  
							
							... 
							
							
							
							For these the instr_format field uses IX instead of IB.
Register instructions use IX, IB, IBBX, IBBB, etc.
Also: Include the closing '}' in Block.tokens, for completeness 
							
						 
						
							2023-01-13 17:06:45 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6e4e14d98f 
								
							 
						 
						
							
							
								
								GH-100923: Embed jump mask in COMPARE_OP oparg (GH-100924)  
							
							
							
						 
						
							2023-01-11 20:40:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3f3c78e32f 
								
							 
						 
						
							
							
								
								GH-98831: Refactor instr format code and change to enum ( #100895 )  
							
							
							
						 
						
							2023-01-09 15:53:01 -08: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Zachary Ware 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								af5149f30b 
								
							 
						 
						
							
							
								
								gh-98831: Regenerate Python/opcode_metadata.h (GH-100778)  
							
							
							
						 
						
							2023-01-05 15:47:18 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								14b7f00fdf 
								
							 
						 
						
							
							
								
								GH-98831: Update generate_cases.py: register inst, opcode_metadata.h ( #100735 )  
							
							... 
							
							
							
							(These aren't used yet, but may be coming soon,
and it's easier to keep this tool the same between branches.)
Added a sanity check for all this to compile.c.
Co-authored-by: Irit Katriel <iritkatriel@yahoo.com> 
							
						 
						
							2023-01-05 13:01:07 -08:00