summaryrefslogtreecommitdiffstats
path: root/Include/pyport.h
Commit message (Collapse)AuthorAgeFilesLines
* bpo-29040: Support building Android with Unified Headers (GH-4492)xdegaye2017-11-231-1/+3
|
* bpo-30768: Recompute timeout on interrupted lock (GH-4103)Victor Stinner2017-10-241-0/+3
| | | | | | | | | | | | | | | | Fix the pthread+semaphore implementation of PyThread_acquire_lock_timed() when called with timeout > 0 and intr_flag=0: recompute the timeout if sem_timedwait() is interrupted by a signal (EINTR). See also the PEP 475. The pthread implementation of PyThread_acquire_lock() now fails with a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done in the Windows implementation. The check prevents any risk of overflow in PyThread_acquire_lock(). Add also PY_DWORD_MAX constant.
* remove support for BSD/OS (closes bpo-31624) (#3812)Benjamin Peterson2017-09-291-10/+0
|
* bpo-30860: Move windows.h include out of internal/*.h. (#3458)Eric Snow2017-09-121-2/+2
| | | PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-0/+8
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* 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.
* Fix the only non-C90 comment to be C90 compatible. (#566)n.d. parker2017-03-081-1/+1
|
* Fixed a typo in the comment in Include/pyport.h (#425)Joseph Shen2017-03-031-1/+1
| | | #ifdef HAVE_DECLSPEC_DLL / #endif mismatch
* Disable _PyStack_AsTuple() inliningVictor Stinner2017-01-111-1/+14
| | | | | | | | | | | | | | | Issue #29234: Inlining _PyStack_AsTuple() into callers increases their stack consumption, Disable inlining to optimize the stack consumption. Add _Py_NO_INLINE: use __attribute__((noinline)) of GCC and Clang. It reduces the stack consumption, bytes per call, before => after: test_python_call: 1040 => 976 (-64 B) test_python_getitem: 976 => 912 (-64 B) test_python_iterator: 1120 => 1056 (-64 B) => total: 3136 => 2944 (- 192 B)
* Merge 3.6Victor Stinner2017-01-051-1/+1
|\
| * Issue #27961: Define HAVE_LONG_LONG as 1.Victor Stinner2017-01-051-1/+1
| | | | | | | | | | Fix backward compatibility issue, HAVE_LONG_LONG was defined but empty, whereas it is defined as 1 in Python 3.5.
* | merge 3.6 (#28898)Benjamin Peterson2016-12-081-2/+3
|\ \ | |/
| * guard HAVE_LONG_LONG definition to prevent redefinition (#28898)Benjamin Peterson2016-12-081-2/+3
| |
* | Issue #28618: Mark dict lookup functions as hotVictor Stinner2016-11-151-2/+2
| | | | | | | | It's common to see these functions in the top 3 of "perf report".
* | Issue #28618: Make hot functions using __attribute__((hot))Victor Stinner2016-11-111-2/+25
|/ | | | | | | | | | | | | | | | | | | | When Python is not compiled with PGO, the performance of Python on call_simple and call_method microbenchmarks depend highly on the code placement. In the worst case, the performance slowdown can be up to 70%. The GCC __attribute__((hot)) attribute helps to keep hot code close to reduce the risk of such major slowdown. This attribute is ignored when Python is compiled with PGO. The following functions are considered as hot according to statistics collected by perf record/perf report: * _PyEval_EvalFrameDefault() * call_function() * _PyFunction_FastCall() * PyFrame_New() * frame_dealloc() * PyErr_Occurred()
* replace usage of Py_VA_COPY with the (C99) standard va_copyBenjamin Peterson2016-09-211-9/+1
|
* merge 3.5 (#28184)Benjamin Peterson2016-09-201-1/+1
|\
| * remove trailing whitespaceBenjamin Peterson2016-09-201-1/+1
| |
* | stop using Py_LL and Py_ULLBenjamin Peterson2016-09-191-4/+0
| |
* | always define HAVE_LONG_LONG (#27961)Benjamin Peterson2016-09-191-0/+3
| |
* | Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly ↵Christian Heimes2016-09-131-31/+14
| | | | | | | | optimize memcpy().
* | more PY_LONG_LONG to long longBenjamin Peterson2016-09-081-30/+0
| |
* | replace PY_SIZE_MAX with SIZE_MAXBenjamin Peterson2016-09-071-9/+1
| |
* | require uintptr_t to existBenjamin Peterson2016-09-061-21/+0
| |
* | only include inttypes.h (#17884)Benjamin Peterson2016-09-061-3/+0
| |
* | require standard int types to be defined (#17884)Benjamin Peterson2016-09-061-51/+1
| |
* | replace PY_LONG_LONG with long longBenjamin Peterson2016-09-061-2/+2
| |
* | require a long long data type (closes #27961)Benjamin Peterson2016-09-061-17/+8
| |
* | Issue #10910: merge from 3.5Ned Deily2016-08-151-1/+10
|\ \ | |/
| * Issue #10910: Update FreedBSD version checks for the ctype UTF-8 workaround.Ned Deily2016-08-151-1/+3
| | | | | | | | | | The original problem has been fixed in newer versions of FreeBSD. Patch by Dimitry Andric of the FreeBSD project.
| * Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.Ned Deily2016-08-151-0/+7
| | | | | | | | Patch by Ronald Oussoren.
* | Issue #26857: The gethostbyaddr_r() workaround is no longer needed withStefan Krah2016-05-221-0/+4
|/ | | | api-level >= 23. Patch by Xavier de Gaye.
* Issue #23943: Fix typos. Patch by Piotr Kasprzyk.Berker Peksag2015-04-141-1/+1
|\
| * Issue #23943: Fix typos. Patch by Piotr Kasprzyk.Berker Peksag2015-04-141-1/+1
| |
* | Issue #23524: Replace _PyVerify_fd function with calls to ↵Steve Dower2015-04-121-0/+20
| | | | | | | | _set_thread_local_invalid_parameter_handler.
* | Issue #23753: Python doesn't support anymore platforms without stat() orVictor Stinner2015-03-241-22/+0
| | | | | | | | | | | | | | fstat(), these functions are always required. Remove HAVE_STAT and HAVE_FSTAT defines, and stop supporting DONT_HAVE_STAT and DONT_HAVE_FSTAT.
* | support setting fpu precision on m68k (closes #20904)Benjamin Peterson2014-04-171-0/+19
|/ | | | Patch from Andreas Schwab.
* Issue #19730: Argument Clinic now supports all the existing PyArgLarry Hastings2013-11-231-0/+7
| | | | | "format units" as legacy converters, as well as two new features: "self converters" and the "version" directive.
* ssue #19183: Implement PEP 456 'secure and interchangeable hash algorithm'.Christian Heimes2013-11-201-17/+2
| | | | Python now uses SipHash24 on all major platforms.
* Restore prototypes for the 'openpty' and 'forkpty' on BSDI (broken in issue ↵Serhiy Storchaka2013-10-191-4/+2
| | | | #1772673).
* Issue #1772673: The type of `char*` arguments now changed to `const char*`.Serhiy Storchaka2013-10-191-2/+4
|
* Issue #18783: Removed existing mentions of Python long type in docstrings,Serhiy Storchaka2013-08-271-2/+2
|\ | | | | | | error messages and comments.
| * Issue #18783: Removed existing mentions of Python long type in docstrings,Serhiy Storchaka2013-08-271-2/+2
| | | | | | | | error messages and comments.
* | If MS_WIN64 is defined, MS_WINDOWS is also defined: #ifdef can be simplified.Victor Stinner2013-06-241-1/+1
| |
* | Define S_IFMT and S_IFLNK in pyport.h so posixmodule.c can use named ↵Christian Heimes2013-06-231-7/+8
| | | | | | | | | | | | constants instead of arbitrary looking numbers.
* | Issue #11016: Try to fix compilaton of the new _stat.c module on WindowsVictor Stinner2013-06-221-0/+8
| |
* | Close #17931: Fix PyLong_FromPid() on Windows 64-bit: processes are identifiedVictor Stinner2013-06-041-4/+0
| | | | | | | | by their HANDLE which is a pointer (and not a long, which is smaller).
* | remove support GCC PyArg_ParseTuple format patch, last seen in 2006Benjamin Peterson2013-05-131-9/+0
| |
* | Issue #17047: remove doubled words added in 3.4,Terry Jan Reedy2013-03-111-1/+1
| | | | | | | | as reported by Serhiy Storchaka and Matthew Barnett.
* | Fix the internals of our hash functions to used unsigned values during hashGregory P. Smith2012-12-111-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | computation as the overflow behavior of signed integers is undefined. NOTE: This change is smaller compared to 3.2 as much of this cleanup had already been done. I added the comment that my change in 3.2 added so that the code would match up. Otherwise this just adds or synchronizes appropriate UL designations on some constants to be pedantic. In practice we require compiling everything with -fwrapv which forces overflow to be defined as twos compliment but this keeps the code cleaner for checkers or in the case where someone has compiled it without -fwrapv or their compiler's equivalent. We could work to get rid of the -fwrapv requirement in 3.4 but that requires more planning. Found by Clang trunk's Undefined Behavior Sanitizer (UBSan). Cleanup only - no functionality or hash values change.