Minmin Gong
7a2368063f
bpo-35758: Fix building on ARM + MSVC (gh-11531)
...
* Disable x87 control word for non-x86 targets
On msvc, x87 control word is only available on x86 target. Need to disable it for other targets to prevent compiling problems.
* Include immintrin.h on x86 and x64 only
Immintrin.h is only available on x86 and x64. Need to disable it for other targets to prevent compiling problems.
2019-01-21 21:49:40 +01:00
Victor Stinner
542497aa9f
bpo-35059: Remove Py_STATIC_INLINE() macro (GH-10216)
...
"static inline" should be used directly. Forcing the compiler to
inline is not recommended.
2018-10-29 14:49:24 +01:00
Victor Stinner
18618e652c
bpo-35059: Add Py_STATIC_INLINE() macro (GH-10093)
...
* Add Py_STATIC_INLINE() macro to declare a "static inline" function.
If the compiler supports it, try to always inline the function even if no
optimization level was specified.
* Modify pydtrace.h to use Py_STATIC_INLINE() when WITH_DTRACE is
not defined.
* Add an unit test on Py_DECREF() to make sure that
_Py_NegativeRefcount() reports the correct filename.
2018-10-25 17:28:11 +02:00
Serhiy Storchaka
c5734998d9
bpo-33720: Refactor marshalling/unmarshalling floats. (GH-8071)
2018-07-24 10:55:47 +03:00
Victor Stinner
13ff24582c
bpo-32593: Drop FreeBSD 9 and older support ( #5232 )
...
Drop support of FreeBSD 9 and older.
2018-01-22 18:32:50 +01:00
xdegaye
c06c22e9a9
bpo-29040: Support building Android with Unified Headers (GH-4492)
2017-11-23 11:44:38 +01:00
Victor Stinner
850a18e03e
bpo-30768: Recompute timeout on interrupted lock (GH-4103)
...
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.
2017-10-24 16:53:32 -07:00
Benjamin Peterson
288d1daada
remove support for BSD/OS (closes bpo-31624) ( #3812 )
2017-09-28 22:44:27 -07:00
Eric Snow
fc1bf872e9
bpo-30860: Move windows.h include out of internal/*.h. ( #3458 )
...
PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.
2017-09-11 18:30:43 -07:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Benjamin Peterson
791dc83119
remove configure test for inline keyword ( #1231 )
...
We require C99, so a configure test for this standard feature is not needed.
2017-04-20 23:52:19 -07:00
n.d. parker
f7eda3882e
Fix the only non-C90 comment to be C90 compatible. ( #566 )
2017-03-08 20:24:22 +02:00
Joseph Shen
677ab995ce
Fixed a typo in the comment in Include/pyport.h ( #425 )
...
#ifdef HAVE_DECLSPEC_DLL / #endif mismatch
2017-03-03 15:44:51 +02:00
Victor Stinner
b915bc354e
Disable _PyStack_AsTuple() inlining
...
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)
2017-01-11 01:07:03 +01:00
Victor Stinner
af6fdf3241
Merge 3.6
2017-01-05 22:59:11 +01:00
Victor Stinner
a251fb02f4
Issue #27961 : Define HAVE_LONG_LONG as 1.
...
Fix backward compatibility issue, HAVE_LONG_LONG was defined but empty, whereas
it is defined as 1 in Python 3.5.
2017-01-05 22:58:53 +01:00
Benjamin Peterson
4ebcdac556
merge 3.6 ( #28898 )
2016-12-07 23:55:03 -08:00
Benjamin Peterson
0d5742dec0
guard HAVE_LONG_LONG definition to prevent redefinition ( #28898 )
2016-12-07 23:54:28 -08:00
Victor Stinner
c7a8f67411
Issue #28618 : Mark dict lookup functions as hot
...
It's common to see these functions in the top 3 of "perf report".
2016-11-15 15:13:40 +01:00
Victor Stinner
c6944e7edc
Issue #28618 : Make hot functions using __attribute__((hot))
...
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()
2016-11-11 02:13:35 +01:00
Benjamin Peterson
0c21214f3e
replace usage of Py_VA_COPY with the (C99) standard va_copy
2016-09-20 20:39:33 -07:00
Benjamin Peterson
e2e792d98f
merge 3.5 ( #28184 )
2016-09-19 22:17:16 -07:00
Benjamin Peterson
918aa89483
remove trailing whitespace
2016-09-19 22:16:36 -07:00
Benjamin Peterson
ac965ca16c
stop using Py_LL and Py_ULL
2016-09-18 18:12:21 -07:00
Benjamin Peterson
41e35f37ed
always define HAVE_LONG_LONG ( #27961 )
2016-09-18 18:02:58 -07:00
Christian Heimes
f051e43b22
Issue #28126 : Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy().
2016-09-13 20:22:02 +02:00
Benjamin Peterson
47ff0734b8
more PY_LONG_LONG to long long
2016-09-08 09:15:54 -07:00
Benjamin Peterson
2f8bfef158
replace PY_SIZE_MAX with SIZE_MAX
2016-09-07 09:26:18 -07:00
Benjamin Peterson
b9d9eeda2a
require uintptr_t to exist
2016-09-06 13:33:56 -07:00
Benjamin Peterson
88bd3edb3e
only include inttypes.h ( #17884 )
2016-09-06 13:05:58 -07:00
Benjamin Peterson
4fe55106d1
require standard int types to be defined ( #17884 )
2016-09-06 11:58:01 -07:00
Benjamin Peterson
af580dff4a
replace PY_LONG_LONG with long long
2016-09-06 10:46:49 -07:00
Benjamin Peterson
ed4aa83ff7
require a long long data type ( closes #27961 )
2016-09-05 17:44:18 -07:00
Ned Deily
6349612a8e
Issue #10910 : merge from 3.5
2016-08-15 03:23:23 -04:00
Ned Deily
3d4559936a
Issue #10910 : Update FreedBSD version checks for the ctype UTF-8 workaround.
...
The original problem has been fixed in newer versions of FreeBSD.
Patch by Dimitry Andric of the FreeBSD project.
2016-08-15 03:08:18 -04:00
Ned Deily
7659aab5e9
Issue #10910 : Avoid C++ compilation errors on FreeBSD and OS X.
...
Patch by Ronald Oussoren.
2016-08-15 03:07:26 -04:00
Stefan Krah
1f9eb879d5
Issue #26857 : The gethostbyaddr_r() workaround is no longer needed with
...
api-level >= 23. Patch by Xavier de Gaye.
2016-05-22 17:35:34 +02:00
Berker Peksag
dfa4e045a3
Issue #23943 : Fix typos. Patch by Piotr Kasprzyk.
2015-04-14 09:35:51 +03:00
Berker Peksag
4882cacab6
Issue #23943 : Fix typos. Patch by Piotr Kasprzyk.
2015-04-14 09:30:01 +03:00
Steve Dower
8fc8980c96
Issue #23524 : Replace _PyVerify_fd function with calls to _set_thread_local_invalid_parameter_handler.
2015-04-12 00:26:27 -04:00
Victor Stinner
f329878e74
Issue #23753 : Python doesn't support anymore platforms without stat() or
...
fstat(), these functions are always required.
Remove HAVE_STAT and HAVE_FSTAT defines, and stop supporting DONT_HAVE_STAT and
DONT_HAVE_FSTAT.
2015-03-24 10:27:50 +01:00
Benjamin Peterson
8bdeb1672c
support setting fpu precision on m68k ( closes #20904 )
...
Patch from Andreas Schwab.
2014-04-17 00:00:31 -04:00
Larry Hastings
ebdcb50b8a
Issue #19730 : Argument Clinic now supports all the existing PyArg
...
"format units" as legacy converters, as well as two new features:
"self converters" and the "version" directive.
2013-11-23 14:54:00 -08:00
Christian Heimes
985ecdcfc2
ssue #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.
...
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Serhiy Storchaka
aa2b22abf3
Restore prototypes for the 'openpty' and 'forkpty' on BSDI (broken in issue #1772673 ).
2013-10-19 21:39:31 +03:00
Serhiy Storchaka
c679227e31
Issue #1772673 : The type of `char*` arguments now changed to `const char*`.
2013-10-19 21:03:34 +03:00
Serhiy Storchaka
46e1ce214b
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 20:17:03 +03:00
Serhiy Storchaka
9594942716
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 19:40:23 +03:00
Victor Stinner
14b9b11098
If MS_WIN64 is defined, MS_WINDOWS is also defined: #ifdef can be simplified.
2013-06-25 00:37:25 +02:00
Christian Heimes
99d6135a15
Define S_IFMT and S_IFLNK in pyport.h so posixmodule.c can use named constants instead
...
of arbitrary looking numbers.
2013-06-23 23:56:05 +02:00