Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								11a2c6ce51 
								
							 
						 
						
							
							
								
								gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (in Objects/) ( #102218 )  
							
							
							
						 
						
							2023-03-08 17:03:18 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Steve Dower 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a99eb5cd99 
								
							 
						 
						
							
							
								
								gh-101907: Stop using _Py_OPCODE and _Py_OPARG macros (GH-101912)  
							
							... 
							
							
							
							* gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h
* Make cases_generator correct on Windows 
							
						 
						
							2023-02-20 14:56:48 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								61762b9387 
								
							 
						 
						
							
							
								
								GH-100126: Skip incomplete frames in more places (GH-100613)  
							
							
							
						 
						
							2023-01-09 12:20:04 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								15c44789bb 
								
							 
						 
						
							
							
								
								gh-100758: Refactor initialisation of frame headers into a single function (_PyFrame_Initialize) (GH-100759)  
							
							
							
						 
						
							2023-01-06 14:55:56 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								15aecf8dd7 
								
							 
						 
						
							
							
								
								GH-100719: Remove the co_nplaincellvars field from code objects. (GH-100721)  
							
							
							
						 
						
							2023-01-04 15:41:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c31e356a10 
								
							 
						 
						
							
							
								
								gh-100720: refactor calculation of number of frame slots for a code object into the new function _PyFrame_NumSlotsForCodeObject ( #100722 )  
							
							
							
						 
						
							2023-01-04 13:37:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bill Fisher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								88d565f32a 
								
							 
						 
						
							
							
								
								gh-99110: Initialize frame->previous in init_frame to fix segmentation fault when accessing frame.f_back ( #100182 )  
							
							
							
						 
						
							2022-12-23 20:15:53 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aa8b58cb33 
								
							 
						 
						
							
							
								
								Remove old comment (GH-99489)  
							
							
							
						 
						
							2022-11-16 13:43:31 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6788303f5c 
								
							 
						 
						
							
							
								
								gh-91248: Optimize PyFrame_GetVar() ( #99252 )  
							
							... 
							
							
							
							PyFrame_GetVar() no longer creates a temporary dictionary to get a
variable. 
							
						 
						
							2022-11-13 15:37:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								584e55bd34 
								
							 
						 
						
							
							
								
								gh-99300: Use Py_NewRef() in Objects/ directory ( #99335 )  
							
							... 
							
							
							
							Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and
Py_XNewRef() in C files of the Objects/ directory. 
							
						 
						
							2022-11-10 22:22:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1e197e63e2 
								
							 
						 
						
							
							
								
								GH-96421: Insert shim frame on entry to interpreter (GH-96319)  
							
							... 
							
							
							
							* Adds EXIT_INTERPRETER instruction to exit PyEval_EvalDefault()
* Simplifies RETURN_VALUE, YIELD_VALUE and RETURN_GENERATOR instructions as they no longer need to check for entry frames. 
							
						 
						
							2022-11-10 12:34:57 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4d5fcca273 
								
							 
						 
						
							
							
								
								gh-91248: Add PyFrame_GetVar() function ( #95712 )  
							
							... 
							
							
							
							Add PyFrame_GetVar() and PyFrame_GetVarString() functions to get a
frame variable by its name.
Move PyFrameObject C API tests from test_capi to test_frame. 
							
						 
						
							2022-11-08 17:40:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c7065ce019 
								
							 
						 
						
							
							
								
								GH-93143: Don't turn LOAD_FAST into LOAD_FAST_CHECK (GH-99075)  
							
							
							
						 
						
							2022-11-08 07:50:46 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								276d77724f 
								
							 
						 
						
							
							
								
								GH-98686: Quicken everything (GH-98687)  
							
							
							
						 
						
							2022-11-02 10:42:57 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								22863df7ca 
								
							 
						 
						
							
							
								
								GH-96793: Change FOR_ITER to not pop the iterator on exhaustion. (GH-96801)  
							
							... 
							
							
							
							Change FOR_ITER to have the same stack effect regardless of whether it branches or not.
Performance is unchanged as FOR_ITER (and specialized forms jump over the cleanup code). 
							
						 
						
							2022-10-27 11:55:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7ec2e279fe 
								
							 
						 
						
							
							
								
								gh-95756: Free and NULL-out code caches when needed (GH-98181)  
							
							
							
						 
						
							2022-10-11 23:11:46 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b399115ef1 
								
							 
						 
						
							
							
								
								gh-95756: Lazily created cached co_* attrs (GH-97791)  
							
							
							
						 
						
							2022-10-11 11:26:08 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0ff8fd6583 
								
							 
						 
						
							
							
								
								GH-97779: Ensure that *all* frame objects are backed by "complete" frames (GH-97845)  
							
							
							
						 
						
							2022-10-04 17:30:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4c72517cad 
								
							 
						 
						
							
							
								
								gh-93554: Conditional jump opcodes only jump forward (GH-96318)  
							
							
							
						 
						
							2022-09-01 21:36:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c09fa7542c 
								
							 
						 
						
							
							
								
								GH-96237: Allow non-functions as reference-holder in frames. (GH-96238)  
							
							
							
						 
						
							2022-08-25 10:16:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e4d3a96a11 
								
							 
						 
						
							
							
								
								GH-94438: Handle extended arguments and conditional pops in mark_stacks (GH-95110)  
							
							
							
						 
						
							2022-07-22 16:28:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3f738600f6 
								
							 
						 
						
							
							
								
								GH-94979: Pop the exception stack when jumping out of exception handlers. ( #95003 )  
							
							
							
						 
						
							2022-07-19 16:33:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b407312a24 
								
							 
						 
						
							
							
								
								GH-94893: Ignore caches when adding LOAD_FAST_CHECKs (GH-94894)  
							
							
							
						 
						
							2022-07-18 09:00:41 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2f8bff6879 
								
							 
						 
						
							
							
								
								GH-94739: Mark stacks of exception handling blocks for setting frame.f_lineno in the debugger. (GH-94958)  
							
							
							
						 
						
							2022-07-18 16:06:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								50b9a7762f 
								
							 
						 
						
							
							
								
								gh-94438: in frameobject's mark_stacks switch, the PUSH_EXC_INFO and POP_EXCEPT cases are no longer reachable (GH-94582)  
							
							
							
						 
						
							2022-07-06 07:15:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								be80db14c4 
								
							 
						 
						
							
							
								
								GH-94438: Account for NULLs on evaluation stack when jumping lines. (GH-94444)  
							
							
							
						 
						
							2022-07-01 14:01:14 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								544531de23 
								
							 
						 
						
							
							
								
								GH-94262: Don't create frame objects for frames that aren't yet complete. (GH-94371)  
							
							
							
						 
						
							2022-07-01 11:08:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5b6e5762ca 
								
							 
						 
						
							
							
								
								GH-91742: Fix pdb crash after jump  (GH-94171)  
							
							
							
						 
						
							2022-06-23 15:19:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5fcfdd87c9 
								
							 
						 
						
							
							
								
								GH-91432: Specialize FOR_ITER (GH-91713)  
							
							... 
							
							
							
							* Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations.
* Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints. 
							
						 
						
							2022-06-21 11:19:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								45e62a2bc1 
								
							 
						 
						
							
							
								
								GH-93897: Store frame size in code object and de-opt if insufficient space on thread frame stack. (GH-93908)  
							
							
							
						 
						
							2022-06-20 12:59:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ken Jin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d52ffc1d1f 
								
							 
						 
						
							
							
								
								gh-93382: Cache result of PyCode_GetCode in codeobject (GH-93383)  
							
							... 
							
							
							
							Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> 
							
						 
						
							2022-06-04 00:41:18 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dennis Sweeney 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f425f3bb27 
								
							 
						 
						
							
							
								
								gh-93143: Avoid NULL check in LOAD_FAST based on analysis in the compiler (GH-93144)  
							
							
							
						 
						
							2022-05-31 16:32:30 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								897f14d38d 
								
							 
						 
						
							
							
								
								gh-89653: PEP 670: Convert PyCell macros to functions ( #92653 )  
							
							... 
							
							
							
							Convert the following macros to static inline functions:
* PyCell_GET()
* PyCell_SET()
Limited C API version 3.12 no longer casts arguments.
Fix also usage of PyCell_SET(): only delete the old value after
setting the new value. 
							
						 
						
							2022-05-11 23:24:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								64a54e511d 
								
							 
						 
						
							
							
								
								gh-91719: Add pycore_opcode.h internal header file ( #91906 )  
							
							... 
							
							
							
							Move the following API from Include/opcode.h (public C API) to a new
Include/internal/pycore_opcode.h header file (internal C API):
* EXTRA_CASES
* _PyOpcode_Caches
* _PyOpcode_Deopt
* _PyOpcode_Jump
* _PyOpcode_OpName
* _PyOpcode_RelativeJump 
							
						 
						
							2022-04-26 00:14:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								944fffee89 
								
							 
						 
						
							
							
								
								GH-88116: Use a compact format to represent end line and column offsets. (GH-91666)  
							
							... 
							
							
							
							* Stores all location info in linetable to conform to PEP 626.
* Remove column table from code objects.
* Remove end-line table from code objects.
* Document new location table format 
							
						 
						
							2022-04-21 16:10:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aa5c0a9f8d 
								
							 
						 
						
							
							
								
								bpo-40421: Cleanup PyFrame C API (GH-32417)  
							
							
							
						 
						
							2022-04-19 09:53:10 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Pablo Galindo Salgado 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								37a53fb6bd 
								
							 
						 
						
							
							
								
								gh-91502: Add a new API to check if a frame is an entry frame (GH-91503)  
							
							
							
						 
						
							2022-04-13 14:06:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dd207a6ac5 
								
							 
						 
						
							
							
								
								bpo-47120: make POP_JUMP_IF_TRUE/FALSE/NONE/NOT_NONE relative (GH-32400)  
							
							
							
						 
						
							2022-04-11 10:40:24 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5b4a4b6f09 
								
							 
						 
						
							
							
								
								Add new PyFrame_GetLasti C-API function (GH-32413)  
							
							
							
						 
						
							2022-04-08 12:18:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ef6a482b02 
								
							 
						 
						
							
							
								
								bpo-47177: Replace f_lasti with prev_instr (GH-32208)  
							
							
							
						 
						
							2022-04-07 12:31:01 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0aa8d5cbd8 
								
							 
						 
						
							
							
								
								bpo-47120: make JUMP_NO_INTERRUPT relative (GH-32221)  
							
							
							
						 
						
							2022-04-05 12:49:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								32091df41c 
								
							 
						 
						
							
							
								
								bpo-47186: Replace JUMP_IF_NOT_EG_MATCH by CHECK_EG_MATCH + jump (GH-32309)  
							
							
							
						 
						
							2022-04-05 12:06:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04e07c258f 
								
							 
						 
						
							
							
								
								bpo-47186: Replace JUMP_IF_NOT_EXC_MATCH by CHECK_EXC_MATCH + jump (GH-32231)  
							
							
							
						 
						
							2022-04-01 13:59:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								74b95d86e0 
								
							 
						 
						
							
							
								
								bpo-40421: Add missing getters for frame object attributes to C-API. (GH-32114)  
							
							
							
						 
						
							2022-03-31 17:13:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Irit Katriel 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a00518d9ad 
								
							 
						 
						
							
							
								
								bpo-47120: Replace the JUMP_ABSOLUTE opcode by the relative JUMP_BACKWARD (GH-32115)  
							
							
							
						 
						
							2022-03-31 14:14:15 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d7163bb35d 
								
							 
						 
						
							
							
								
								bpo-42197: Don't create f_locals dictionary unless we actually need it. (GH-32055)  
							
							... 
							
							
							
							* `PyFrame_FastToLocalsWithError` and `PyFrame_LocalsToFast` are no longer called during profile and tracing.
 (Contributed by Fabio Zadrozny)
* Make accesses to a frame's `f_locals` safe from C code, not relying on calls to `PyFrame_FastToLocals` or `PyFrame_LocalsToFast`.
* Document new `PyFrame_GetLocals` C-API function. 
							
						 
						
							2022-03-25 12:57:50 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								49daf6dba8 
								
							 
						 
						
							
							
								
								bpo-47045: Remove f_state field (GH-31963)  
							
							... 
							
							
							
							* Remove the f_state field from _PyInterpreterFrame
*  Make ownership of the frame explicit, replacing the is_generator field with an owner field. 
							
						 
						
							2022-03-22 12:57:19 +00:00