summaryrefslogtreecommitdiffstats
path: root/Include
Commit message (Collapse)AuthorAgeFilesLines
* Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)Eric Snow2017-09-0613-1010/+18
| | | Windows buildbots started failing due to include-related errors.
* bpo-30860: Consolidate stateful runtime globals. (#2594)Eric Snow2017-09-0613-18/+1010
| | | | | | | | | * 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).
* bpo-28411: Remove "modules" field from Py_InterpreterState. (#1638)Eric Snow2017-09-043-4/+26
| | | sys.modules is the one true source.
* bpo-9566 & bpo-30747: Silence warnings from pyatomic.h macros (#3140)Segev Finer2017-08-201-4/+4
| | | | | | | | | | | | | * bpo-9566: Silence warnings from pyatomic.h macros Apparently MSVC is too stupid to understand that the alternate branch is not taken and emits a warning for it. Warnings added in https://github.com/python/cpython/pull/2383 * bpo-9566: A better fix for the pyatomic.h warning * bpo-9566: Remove a slash
* bpo-30747: Attempt to fix atomic load/store (#2383)Pär Björklund2017-08-121-10/+295
| | | | | _Py_atomic_* are currently not implemented as atomic operations when building with MSVC. This patch attempts to implement parts of the functionality required.
* Spelling fixes (#2902)Ville Skyttä2017-08-032-2/+2
|
* bpo-30946: Remove obsolete fallback code in readline module (#2738)Antoine Pitrou2017-07-181-4/+5
| | | | | | | | | | * Remove obsolete fallback code in readline module * Add NEWS * Remove obsolete include * Fix macro on Windows
* Remove _PyArg_NoStackKeywords(). (#2641)Serhiy Storchaka2017-07-101-3/+0
|
* bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make (#1955)Serhiy Storchaka2017-07-031-2/+4
| | | | | the bare METH_FASTCALL be used for functions with positional-only parameters.
* bpo-30703: Improve signal delivery (#2415)Antoine Pitrou2017-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | * Improve signal delivery Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-unsafe functions. * Remove unused function * Improve comments * Add stress test * Adapt for --without-threads * Add second stress test * Add NEWS blurb * Address comments @haypo
* [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302)Serhiy Storchaka2017-06-281-3/+7
| | | | | | | Based on patch by Victor Stinner. Add private C API function _PyUnicode_AsUnicode() which is similar to PyUnicode_AsUnicode(), but checks for null characters.
* bpo-30604: clean up co_extra support (#2144)Dino Viehland2017-06-211-3/+4
| | | bpo-30604: port fix from 3.6 dropping binary compatibility tweaks
* bpo-30054: Expose tracemalloc C API (#1236)Victor Stinner2017-06-201-8/+5
| | | | | | | | | * Make PyTraceMalloc_Track() and PyTraceMalloc_Untrack() functions public (remove the "_" prefix) * Remove the _PyTraceMalloc_domain_t type: use directly unsigned int. * Document methods Note: methods are already tested in test_tracemalloc.
* bpo-25324: copy tok_name before changing it (#1608)Albert-Jan Nijburg2017-05-311-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | * add test to check if were modifying token * copy list so import tokenize doesnt have side effects on token * shorten line * add tokenize tokens to token.h to get them to show up in token * move ERRORTOKEN back to its previous location, and fix nitpick * copy comments from token.h automatically * fix whitespace and make more pythonic * change to fix comments from @haypo * update token.rst and Misc/NEWS * change wording * some more wording changes
* bpo-16500: Allow registering at-fork handlers (#1715)Antoine Pitrou2017-05-272-1/+13
| | | | | | | | | | | | * bpo-16500: Allow registering at-fork handlers * Address Serhiy's comments * Add doc for new C API * Add doc for new Python-facing function * Add NEWS entry + doc nit
* Delete sigcheck.c since it appears unused (#1723)Segev Finer2017-05-251-1/+1
|
* bpo-22257: Private C-API for main interpreter initialization (PEP 432). (#1729)Eric Snow2017-05-242-1/+15
| | | (patch by Nick Coghlan)
* bpo-22257: Private C-API for core runtime initialization (PEP 432). (#1772)Eric Snow2017-05-242-1/+20
| | | (patch by Nick Coghlan)
* bpo-22257: Small changes for PEP 432. (#1728)Eric Snow2017-05-235-20/+23
| | | PEP 432 specifies a number of large changes to interpreter startup code, including exposing a cleaner C-API. The major changes depend on a number of smaller changes. This patch includes all those smaller changes.
* bpo-29102: Add a unique ID to PyInterpreterState. (#1639)Eric Snow2017-05-231-0/+9
|
* bpo-30341: Improve _PyTrash_thread_destroy_chain() a little bit (#1545)Xiang Zhang2017-05-131-1/+1
| | | | | * add a comment about why we need to increase trash_delete_nesting * move increase and decrese outside of the loop
* bpo-29867: Add asserts in PyTuple_GET_SIZE, PyList_GET_SIZE and ↵Serhiy Storchaka2017-04-213-3/+3
| | | | PySet_GET_SIZE. (#751)
* remove configure test for inline keyword (#1231)Benjamin Peterson2017-04-211-4/+1
| | | We require C99, so a configure test for this standard feature is not needed.
* bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051)Serhiy Storchaka2017-04-161-2/+2
|
* bpo-29941: Assert fixes (#886)T. Wouters2017-03-311-0/+4
| | | | | | | | Make a non-Py_DEBUG, asserts-enabled build of CPython possible. This means making sure helper functions are defined when NDEBUG is not defined, not just when Py_DEBUG is defined. Also fix a division-by-zero in obmalloc.c that went unnoticed because in Py_DEBUG mode, elsize is never zero.
* bpo-29935: Fixed error messages in the index() method of tuple, list and ↵Serhiy Storchaka2017-03-301-1/+1
| | | | | deque (#887) when pass indices of wrong type.
* bpo-29852: Argument Clinic Py_ssize_t converter now supports None (#716)Serhiy Storchaka2017-03-301-0/+3
| | | if pass `accept={int, NoneType}`.
* bpo-29878: Add global instances of int for 0 and 1. (#852)Serhiy Storchaka2017-03-301-0/+5
|
* bpo-29936: fix typo __GNU*C*_MINOR__ (#878)Niklas Fiekas2017-03-291-1/+1
|
* bpo-6532: Make the thread id an unsigned integer. (#781)Serhiy Storchaka2017-03-232-4/+8
| | | | | | | | | | | * bpo-6532: Make the thread id an unsigned integer. From C API side the type of results of PyThread_start_new_thread() and PyThread_get_thread_ident(), the id parameter of PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState changed from "long" to "unsigned long". * Restore a check in thread_get_ident().
* bpo-29748: Added the slice index converter in Argument Clinic. (#549)Serhiy Storchaka2017-03-191-0/+1
|
* bpo-28749: Fixed the documentation of the mapping codec APIs. (#487)Serhiy Storchaka2017-03-191-27/+18
| | | Added the documentation for PyUnicode_Translate().
* bpo-29735: Optimize partial_call(): avoid tuple (#516)Victor Stinner2017-03-141-0/+4
| | | | | | | | * Add _PyObject_HasFastCall() * partial_call() now avoids temporary tuple to pass positional arguments if the callable supports the FASTCALL calling convention for positional arguments. * Fix also a performance regression in partial_call() if the callable doesn't support FASTCALL.
* bpo-29548: Recommend PyObject_Call APIs over PyEval_Call APIs. (GH-75)INADA Naoki2017-03-141-0/+6
| | | | | | | | | | | | PyEval_Call* APIs are not documented and they doesn't respect PY_SSIZE_T_CLEAN. So add comment block which recommends PyObject_Call* APIs to ceval.h. This commit also changes PyEval_CallMethod and PyEval_CallFunction implementation same to PyObject_CallMethod and PyObject_CallFunction to reduce future maintenance cost. Optimization to avoid temporary tuple are copied too. PyEval_CallFunction(callable, "i", (int)i) now calls callable(i) instead of raising TypeError. But accepting this edge case is backward compatible.
* bpo-28667: Fix a compile warning on FreeBSD when compare with FD_SETSIZE. (#501)Serhiy Storchaka2017-03-121-1/+1
| | | FreeBSD is the only platforms with unsigned FD_SETSIZE.
* bpo-15695: Add PyAPI_FUNC() to _PyDict_SizeOf() declaration. (#639)Serhiy Storchaka2017-03-121-1/+1
|
* bpo-29619: Convert st_ino using unsigned integer (#557)Victor Stinner2017-03-091-1/+1
| | | | bpo-29619: os.stat() and os.DirEntry.inodeo() now convert inode (st_ino) using unsigned integers.
* Fix the only non-C90 comment to be C90 compatible. (#566)n.d. parker2017-03-081-1/+1
|
* bpo-27593: Get SCM build info from git instead of hg. (#446)Ned Deily2017-03-041-2/+2
| | | | | | | sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo. Based on original patches by Brett Cannon and Steve Dower.
* Fixed a typo in the comment in Include/pyport.h (#425)Joseph Shen2017-03-031-1/+1
| | | #ifdef HAVE_DECLSPEC_DLL / #endif mismatch
* bpo-29463: Add docstring field to some AST nodes. (#46)INADA Naoki2017-02-221-10/+15
| | | | | | | | | | | * bpo-29463: Add docstring field to some AST nodes. ClassDef, ModuleDef, FunctionDef, and AsyncFunctionDef has docstring field for now. It was first statement of there body. * fix document. thanks travis! * doc fixes
* bpo-29524: Add Objects/call.c file (#12)Victor Stinner2017-02-121-6/+16
| | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c.
* Backed out changeset f23fa1f7b68fVictor Stinner2017-02-101-16/+6
| | | | | Sorry, I didn't want to push this change before the review :-( I was pushing a change into the 2.7 branch.
* Issue #29465: Add Objects/call.c fileVictor Stinner2017-02-101-6/+16
| | | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c.
* Optimize slots: avoid temporary PyMethodObjectVictor Stinner2017-02-091-0/+6
| | | | | | | | | | | | | | | | | | Issue #29507: Optimize slots calling Python methods. For Python methods, get the unbound Python function and prepend arguments with self, rather than calling the descriptor which creates a temporary PyMethodObject. Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python method with self. It avoids the creation of a temporary tuple to pass positional arguments. Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented in Python: Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%) Co-Authored-by: INADA Naoki <songofacandy@gmail.com>
* Issue #29460: _PyArg_NoKeywords(), _PyArg_NoStackKeywords() andSerhiy Storchaka2017-02-061-0/+7
| | | | _PyArg_NoPositional() now are macros.
* Issue #27867: Silenced may-be-used-uninitialized warnings afterSerhiy Storchaka2017-02-041-2/+3
|\ | | | | | | using PySlice_GetIndicesEx() in debug builds.
| * Issue #27867: Silenced may-be-used-uninitialized warnings afterSerhiy Storchaka2017-02-041-2/+3
| |\ | | | | | | | | | using PySlice_GetIndicesEx() in debug builds.
| | * Issue #27867: Silenced may-be-used-uninitialized warnings afterSerhiy Storchaka2017-02-041-2/+3
| | | | | | | | | | | | using PySlice_GetIndicesEx() in debug builds.
* | | Issue #29263: LOAD_METHOD support for C methodsINADA Naoki2017-02-022-0/+10
| | | | | | | | | | | | Calling builtin method is at most 10% faster.