mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									daec3a463c
								
							
						
					
					
						commit
						f02fa64bf2
					
				
					 9 changed files with 39 additions and 12 deletions
				
			
		|  | @ -429,7 +429,8 @@ def _write_atomic(path, data, mode=0o666): | |||
| #     Python 3.12a1 3513 (Add CALL_INTRINSIC_1 instruction, removed STOPITERATION_ERROR, PRINT_EXPR, IMPORT_STAR) | ||||
| #     Python 3.12a1 3514 (Remove ASYNC_GEN_WRAP, LIST_TO_TUPLE, and UNARY_POSITIVE) | ||||
| #     Python 3.12a1 3515 (Embed jump mask in COMPARE_OP oparg) | ||||
| #     Python 3.12a1 3516 (Add COMAPRE_AND_BRANCH instruction) | ||||
| #     Python 3.12a1 3516 (Add COMPARE_AND_BRANCH instruction) | ||||
| #     Python 3.12a1 3517 (Change YIELD_VALUE oparg to exception block depth) | ||||
| 
 | ||||
| #     Python 3.13 will start with 3550 | ||||
| 
 | ||||
|  | @ -442,7 +443,7 @@ def _write_atomic(path, data, mode=0o666): | |||
| # Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array | ||||
| # in PC/launcher.c must also be updated. | ||||
| 
 | ||||
| MAGIC_NUMBER = (3516).to_bytes(2, 'little') + b'\r\n' | ||||
| MAGIC_NUMBER = (3517).to_bytes(2, 'little') + b'\r\n' | ||||
| 
 | ||||
| _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little')  # For import.c | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Mark Shannon
						Mark Shannon