Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d6c33fbd34 
								
							 
						 
						
							
							
								
								bpo-42990: Introduce 'frame constructor' struct to simplify API for PyEval_CodeEval and friends (GH-24298)  
							
							... 
							
							
							
							* Introduce 'frame constructor' to simplify API for frame creation
* Embed struct using a macro to conform to PEP 7 
							
						 
						
							2021-01-29 13:24:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yurii Karabas 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7301979b23 
								
							 
						 
						
							
							
								
								bpo-42202: Store func annotations as a tuple (GH-23316)  
							
							... 
							
							
							
							Reduce memory footprint and improve performance of loading modules having many func annotations.
  >>> sys.getsizeof({"a":"int","b":"int","return":"int"})
  232
  >>> sys.getsizeof(("a","int","b","int","return","int"))
  88
The tuple is converted into dict on the fly when `func.__annotations__` is accessed first.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Inada Naoki <songofacandy@gmail.com> 
							
						 
						
							2020-11-25 19:43:18 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yonatan Goldschmidt 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								350526105f 
								
							 
						 
						
							
							
								
								bpo-42143: Ensure PyFunction_NewWithQualName() can't fail after creating the func object (GH-22953)  
							
							... 
							
							
							
							func_dealloc() does not handle partially-created objects. Best not to give it any. 
							
						 
						
							2020-10-29 11:58:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								384621c42f 
								
							 
						 
						
							
							
								
								bpo-41078: Rename pycore_tupleobject.h to pycore_tuple.h (GH-21056)  
							
							
							
						 
						
							2020-06-22 17:27:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d9ea5cae1d 
								
							 
						 
						
							
							
								
								bpo-40268: Remove unused pycore_pymem.h includes (GH-19531)  
							
							
							
						 
						
							2020-04-15 02:57:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4a21e57fe5 
								
							 
						 
						
							
							
								
								bpo-40268: Remove unused structmember.h includes (GH-19530)  
							
							... 
							
							
							
							If only offsetof() is needed: include stddef.h instead.
When structmember.h is used, add a comment explaining that
PyMemberDef is used. 
							
						 
						
							2020-04-15 02:35:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e5014be049 
								
							 
						 
						
							
							
								
								bpo-40268: Remove a few pycore_pystate.h includes (GH-19510)  
							
							
							
						 
						
							2020-04-14 17:52:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								24bba8cf5b 
								
							 
						 
						
							
							
								
								bpo-36347: stop using RESTRICTED constants (GH-12684)  
							
							... 
							
							
							
							The constants `RESTRICTED` and `PY_WRITE_RESTRICTED` no longer have a meaning in Python 3. Therefore, CPython should not use them.
CC @matrixise 
https://bugs.python.org/issue36347  
							
						 
						
							2020-02-18 05:14:46 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Viktorin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ffd9753a94 
								
							 
						 
						
							
							
								
								bpo-39245: Switch to public API for Vectorcall (GH-18460)  
							
							... 
							
							
							
							The bulk of this patch was generated automatically with:
    for name in \
        PyObject_Vectorcall \
        Py_TPFLAGS_HAVE_VECTORCALL \
        PyObject_VectorcallMethod \
        PyVectorcall_Function \
        PyObject_CallOneArg \
        PyObject_CallMethodNoArgs \
        PyObject_CallMethodOneArg \
    ;
    do
        echo $name
        git grep -lwz _$name | xargs -0 sed -i "s/\b_$name\b/$name/g"
    done
    old=_PyObject_FastCallDict
    new=PyObject_VectorcallDict
    git grep -lwz $old | xargs -0 sed -i "s/\b$old\b/$new/g"
and then cleaned up:
- Revert changes to in docs & news
- Revert changes to backcompat defines in headers
- Nudge misaligned comments 
							
						 
						
							2020-02-11 17:46:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								58ac700fb0 
								
							 
						 
						
							
							
								
								bpo-39573: Use Py_TYPE() macro in Objects directory (GH-18392)  
							
							... 
							
							
							
							Replace direct access to PyObject.ob_type with Py_TYPE(). 
							
						 
						
							2020-02-07 03:04:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Berker Peksag 
								
							 
						 
						
							
							
							
							
								
							
							
								805f8f9afe 
								
							 
						 
						
							
							
								
								bpo-19072: Make @classmethod support chained decorators (GH-8405)  
							
							
							
						 
						
							2019-08-24 15:37:25 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
							
							
								
							
							
								59543347d1 
								
							 
						 
						
							
							
								
								bpo-37151: remove _PyFunction_FastCallDict (GH-13864)  
							
							
							
						 
						
							2019-06-18 20:05:41 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
							
							
								
							
							
								530f506ac9 
								
							 
						 
						
							
							
								
								bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)  
							
							... 
							
							
							
							Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async 
							
						 
						
							2019-05-30 19:13:39 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
							
							
								
							
							
								37788bc23f 
								
							 
						 
						
							
							
								
								bpo-36974: rename _FastCallKeywords -> _Vectorcall (GH-13653)  
							
							
							
						 
						
							2019-05-30 15:11:22 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
							
							
								
							
							
								aacc77fbd7 
								
							 
						 
						
							
							
								
								bpo-36974: implement PEP 590 (GH-13185)  
							
							... 
							
							
							
							Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
Co-authored-by: Mark Shannon <mark@hotpy.org> 
							
						 
						
							2019-05-29 20:31:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jeroen Demeyer 
								
							 
						 
						
							
							
							
							
								
							
							
								eb65e2443a 
								
							 
						 
						
							
							
								
								bpo-36922: implement PEP-590 Py_TPFLAGS_METHOD_DESCRIPTOR (GH-13338)  
							
							... 
							
							
							
							Co-authored-by: Mark Shannon <mark@hotpy.org> 
							
						 
						
							2019-05-28 14:42:53 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Steve Dower 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b82e17e626 
								
							 
						 
						
							
							
								
								bpo-36842: Implement PEP 578 (GH-12613)  
							
							... 
							
							
							
							Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs. 
							
						 
						
							2019-05-23 08:45:22 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a24107b04c 
								
							 
						 
						
							
							
								
								bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112)  
							
							
							
						 
						
							2019-02-25 17:59:46 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jess Shapiro 
								
							 
						 
						
							
							
							
							
								
							
							
								e7eed78f04 
								
							 
						 
						
							
							
								
								Clarify the behavior of the staticmethod builtin (GH-4362)  
							
							
							
						 
						
							2018-12-23 23:47:38 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d4f9cf5545 
								
							 
						 
						
							
							
								
								bpo-33029: Fix signatures of getter and setter functions. (GH-10746)  
							
							... 
							
							
							
							Fix also return type for few other functions (clear, releasebuffer). 
							
						 
						
							2018-11-27 19:34:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ec13b9322d 
								
							 
						 
						
							
							
								
								bpo-35081: Add Include/internal/pycore_tupleobject.h (GH-10705)  
							
							... 
							
							
							
							Move _PyTuple_ITEMS() to a new header file:
Include/internal/pycore_tupleobject.h 
							
						 
						
							2018-11-25 23:56:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bcda8f1d42 
								
							 
						 
						
							
							
								
								bpo-35081: Add Include/internal/pycore_object.h (GH-10640)  
							
							... 
							
							
							
							Move _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() from
Include/objimpl.h to Include/internal/pycore_object.h. 
							
						 
						
							2018-11-21 22:27:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								621cebe81b 
								
							 
						 
						
							
							
								
								bpo-35081: Rename internal headers (GH-10275)  
							
							... 
							
							
							
							Rename Include/internal/ headers:
* pycore_hash.h -> pycore_pyhash.h
* pycore_lifecycle.h -> pycore_pylifecycle.h
* pycore_mem.h -> pycore_pymem.h
* pycore_state.h -> pycore_pystate.h
Add missing headers to Makefile.pre.in and PCbuild:
* pycore_condvar.h.
* pycore_hamt.h
* pycore_pyhash.h 
							
						 
						
							2018-11-12 16:53:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d17a693fa0 
								
							 
						 
						
							
							
								
								bpo-35199: Add an internal _PyTuple_ITEMS() macro (GH-10434)  
							
							... 
							
							
							
							* _PyTuple_ITEMS() gives access to the tuple->ob_item field and cast the
  first argument to PyTupleObject*. This internal macro is only usable if
  Py_BUILD_CORE is defined.
* Replace &PyTuple_GET_ITEM(ob, 0) with _PyTuple_ITEMS(ob).
* Replace PyTuple_GET_ITEM(op, 1) with &_PyTuple_ITEMS(ob)[1]. 
							
						 
						
							2018-11-09 16:56:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								27e2d1f219 
								
							 
						 
						
							
							
								
								bpo-35081: Add pycore_ prefix to internal header files (GH-10263)  
							
							... 
							
							
							
							* Rename Include/internal/ header files:
  * pyatomic.h -> pycore_atomic.h
  * ceval.h -> pycore_ceval.h
  * condvar.h -> pycore_condvar.h
  * context.h -> pycore_context.h
  * pygetopt.h -> pycore_getopt.h
  * gil.h -> pycore_gil.h
  * hamt.h -> pycore_hamt.h
  * hash.h -> pycore_hash.h
  * mem.h -> pycore_mem.h
  * pystate.h -> pycore_state.h
  * warnings.h -> pycore_warnings.h
* PCbuild project, Makefile.pre.in, Modules/Setup: add the
  Include/internal/ directory to the search paths of header files.
* Update includes. For example, replace #include "internal/mem.h"
  with #include "pycore_mem.h". 
							
						 
						
							2018-11-01 00:52:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3c452404ae 
								
							 
						 
						
							
							
								
								bpo-33418: Add tp_clear for function object (GH-8058)  
							
							... 
							
							
							
							Without tp_clear, GC can't break cyclic reference.
It will cause memory leak when cyclic reference is
created intentionally. 
							
						 
						
							2018-07-04 11:15:50 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Oren Milman 
								
							 
						 
						
							
							
							
							
								
							
							
								d019bc8319 
								
							 
						 
						
							
							
								
								bpo-31787: Prevent refleaks when calling __init__() more than once (GH-3995)  
							
							
							
						 
						
							2018-02-13 19:28:33 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric Snow 
								
							 
						 
						
							
							
							
							
								
							
							
								2ebc5ce42a 
								
							 
						 
						
							
							
								
								bpo-30860: Consolidate stateful runtime globals. ( #3397 )  
							
							... 
							
							
							
							* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py). 
							
						 
						
							2017-09-07 23:51:28 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sylvain 
								
							 
						 
						
							
							
							
							
								
							
							
								9648088e6c 
								
							 
						 
						
							
							
								
								bpo-30878: Fix error message when keyword arguments are passed ( #2635 )  
							
							... 
							
							
							
							to staticmethod() and classmethod(). 
							
						 
						
							2017-07-09 06:45:06 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								18b250f844 
								
							 
						 
						
							
							
								
								bpo-29793: Convert some builtin types constructors to Argument Clinic. ( #615 )  
							
							
							
						 
						
							2017-03-19 08:51:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								228b12edcc 
								
							 
						 
						
							
							
								
								Issue  #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever  
							
							... 
							
							
							
							possible.  Patch is writen with Coccinelle. 
							
						 
						
							2017-01-23 09:47:21 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								6f7c0ae46d 
								
							 
						 
						
							
							
								
								Issue  #28839 : Optimize function_call()  
							
							... 
							
							
							
							function_call() now simply calls _PyFunction_FastCallDict().
_PyFunction_FastCallDict() is more efficient: it contains fast paths for the
common case (optimized code object and no keyword argument). 
							
						 
						
							2017-01-03 01:58:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								5ab81d787f 
								
							 
						 
						
							
							
								
								Issue  #28959 : Added private macro PyDict_GET_SIZE for retrieving the size of dict.  
							
							
							
						 
						
							2016-12-16 16:18:57 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Panter 
								
							 
						 
						
							
							
							
							
								
							
							
								d508d00919 
								
							 
						 
						
							
							
								
								Issue  #28139 : Merge indentation fixes from 3.5 into 3.6  
							
							
							
						 
						
							2016-09-17 07:59:14 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Panter 
								
							 
						 
						
							
							
							
							
								
							
							
								6d57fe1c23 
								
							 
						 
						
							
							
								
								Issue  #28139 : Fix messed up indentation  
							
							... 
							
							
							
							Also update the classmethod and staticmethod doc strings and comments to
match the RST documentation. 
							
						 
						
							2016-09-17 03:26:16 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								f01e408c16 
								
							 
						 
						
							
							
								
								Issue  #26200 : Added Py_SETREF and replaced Py_XSETREF with Py_SETREF  
							
							... 
							
							
							
							in places where Py_DECREF was used. 
							
						 
						
							2016-04-10 18:12:01 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								57a01d3a0e 
								
							 
						 
						
							
							
								
								Issue  #26200 : Added Py_SETREF and replaced Py_XSETREF with Py_SETREF  
							
							... 
							
							
							
							in places where Py_DECREF was used. 
							
						 
						
							2016-04-10 18:05:40 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								ec39756960 
								
							 
						 
						
							
							
								
								Issue  #22570 : Renamed Py_SETREF to Py_XSETREF.  
							
							
							
						 
						
							2016-04-06 09:50:03 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								48842714b9 
								
							 
						 
						
							
							
								
								Issue  #22570 : Renamed Py_SETREF to Py_XSETREF.  
							
							
							
						 
						
							2016-04-06 09:45:48 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								576f132b98 
								
							 
						 
						
							
							
								
								Issue  #20440 : Cleaning up the code by using Py_SETREF.  
							
							
							
						 
						
							2016-01-05 21:27:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								5a57ade58e 
								
							 
						 
						
							
							
								
								Issue  #20440 : Massive replacing unsafe attribute setting code with special  
							
							... 
							
							
							
							macro Py_SETREF. 
							
						 
						
							2015-12-24 10:35:59 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								34f96b8dd3 
								
							 
						 
						
							
							
								
								Issue  #18520 : Fix PyFunction_NewWithQualName() error handling  
							
							
							
						 
						
							2013-07-22 23:04:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								4d1f5d6eee 
								
							 
						 
						
							
							
								
								Reindent PyFunction_NewWithQualName()  
							
							
							
						 
						
							2013-07-22 23:02:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								23d7f12ffb 
								
							 
						 
						
							
							
								
								use new generic __dict__ descriptor implementations  
							
							
							
						 
						
							2012-02-19 20:02:57 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								b900d6a78c 
								
							 
						 
						
							
							
								
								initialize __dict__ if needed  
							
							
							
						 
						
							2012-02-19 10:17:30 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								2cf936fe7a 
								
							 
						 
						
							
							
								
								use defaults  
							
							
							
						 
						
							2012-02-19 01:16:13 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								84e821e961 
								
							 
						 
						
							
							
								
								merge 3.2  
							
							
							
						 
						
							2012-02-19 01:14:21 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								496c53d83e 
								
							 
						 
						
							
							
								
								use Py_CLEAR  
							
							
							
						 
						
							2012-02-19 01:11:56 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								01d7eba316 
								
							 
						 
						
							
							
								
								allow arbitrary attributes on classmethod and staticmethod ( closes   #14051 )  
							
							
							
						 
						
							2012-02-19 01:10:25 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								bfebb7b54a 
								
							 
						 
						
							
							
								
								improve abstract property support ( closes   #11610 )  
							
							... 
							
							
							
							Thanks to Darren Dale for patch. 
							
						 
						
							2011-12-15 15:34:02 -05:00