cpython/Modules
Michał Górny 1aa00ff383 fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)
Rework the code choosing BLAKE2 code paths from using the optimized
variant on all x86_64 machines to using it when SSSE3 or better
supported instructions sets are available.

Firstly, this solves the problem of using pure SSE2 code path on x86_64
machines. As reported in the bug, this code is slower than the reference
code on all tested x86_64 machines. Furthermore, on Athlon64 that lacks
SSSE3, it is even 2.5 times slower than the reference code! Checking
for SSSE3 therefore ensures that the optimized implementation will only
be used when it has a chance of performing better.

Secondly, this makes it possible to use SSSE3+ optimizations on 32-bit
x86 systems. This allows for even 2 times speed gain on modern 32-bit
x86 systems (tested in a 32-bit chroot).
2017-10-23 23:54:19 -07:00
..
_blake2 fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066) 2017-10-23 23:54:19 -07:00
_ctypes bpo-31311: Fix a SystemError and a crash in ctypes._CData.__setstate__(), in case of a bad __dict__. (#3254) 2017-09-25 11:09:11 +03:00
_decimal bpo-31406: Fix crash due to lack of type checking in subclassing. (#3477) 2017-09-10 18:08:04 +02:00
_io bpo-25359: Add missed "goto error" after setting an exception. (#3712) 2017-09-24 02:49:58 +03:00
_multiprocessing bpo-31653: Remove deadcode in semlock_acquire() (#4091) 2017-10-23 13:57:51 -07:00
_sha3 bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
_sqlite bpo-31740: Prevent refleaks when sqlite3.Connection.__init__() is called more than once (GH-3944) 2017-10-10 12:27:46 -07:00
_xxtestfuzz Avoid UB in test selection macro. (#3407) 2017-09-06 18:00:47 -07:00
cjkcodecs bpo-31275: Small refactoring to silence a fall-through warning. (#3206) 2017-08-25 18:31:22 +02:00
clinic bpo-31558: Add gc.freeze() (#3705) 2017-10-16 12:49:41 -07:00
expat remove configure check for memmove (#3716) 2017-09-24 12:08:40 -07:00
_asynciomodule.c bpo-31185: Fixed miscellaneous errors in asyncio speedup module. (#3076) 2017-09-03 08:10:14 +03:00
_bisectmodule.c Issue #28792: Remove aliases from _bisect 2016-11-24 23:31:59 +01:00
_bz2module.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
_codecsmodule.c bpo-24037: Add Argument Clinic converter bool(accept={int}). (#485) 2017-03-12 10:10:47 +02:00
_collectionsmodule.c bpo-31586: Use _count_element fast path for real dicts. 2017-09-26 20:18:21 -07:00
_cryptmodule.c Issue #27332: Fixed the type of the first argument of module-level functions 2016-07-07 17:35:15 +03:00
_csv.c Use NULL rather than 0. (#778) 2017-03-23 17:53:47 +02:00
_curses_panel.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
_cursesmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
_datetimemodule.c bpo-31752: Fix possible crash in timedelta constructor called with custom integers. (#3947) 2017-10-23 17:12:28 +03:00
_dbmmodule.c bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
_elementtree.c bpo-31728: Prevent crashes in _elementtree due to unsafe cleanup of Element.text and Element.tail (#3924) 2017-10-10 23:26:24 +03:00
_functoolsmodule.c bpo-31497: Add private helper _PyType_Name(). (#3630) 2017-09-17 21:11:04 +03:00
_gdbmmodule.c bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
_hashopenssl.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
_heapqmodule.c Issue #15984: Merge PyUnicode doc from 3.5 2016-04-15 02:27:11 +00:00
_json.c bpo-31505: Fix an assertion failure in json, in case _json.make_encoder() received a bad encoder() argument. (#3643) 2017-09-24 12:07:12 +03:00
_localemodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
_lsprof.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
_lzmamodule.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
_math.c Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_math.h Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_opcode.c Issue #27332: Fixed the type of the first argument of module-level functions 2016-07-07 17:35:15 +03:00
_operator.c bpo-30592: Fixed error messages for some builtins. (#1996) 2017-06-08 14:41:19 +03:00
_pickle.c bpo-31572: Get rid of using _PyObject_HasAttrId() in pickle. (#3729) 2017-10-22 21:31:34 +03:00
_posixsubprocess.c bpo-16500: Don't use string constants for os.register_at_fork() behavior (#1834) 2017-05-29 10:03:41 -07:00
_randommodule.c bpo-31478: Fix an assertion failure in random.seed() in case a seed has a bad __abs__() method. (#3596) 2017-09-28 10:50:01 +03:00
_scproxy.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
_sre.c bpo-30397: Add re.Pattern and re.Match. (#1646) 2017-10-04 20:09:49 +03:00
_ssl.c completly -> completely (#3999) (closes bpo-31788) 2017-10-15 12:28:31 -07:00
_ssl_data.h
_stat.c
_struct.c bpo-30246: fix several error messages which only mention bytes in struct (#1421) 2017-09-14 10:33:26 +08:00
_testbuffer.c Expand the PySlice_GetIndicesEx macro. (#1023) 2017-04-08 09:53:51 +03:00
_testcapimodule.c bpo-31786: Make functions in the select module blocking when timeout is a small negative value. (#4003) 2017-10-17 17:14:41 +03:00
_testimportmultiple.c
_testmultiphase.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
_threadmodule.c bpo-31806: Use _PyTime_ROUND_TIMEOUT for the timeout argument parsing in more functions (#4026) 2017-10-18 10:13:09 +03:00
_tkinter.c bpo-31675: Fix memory leaks in Tkinter's methods splitlist() and split() (#3866) 2017-10-03 22:39:55 +03:00
_tracemalloc.c bpo-25658: Implement PEP 539 for Thread Specific Storage (TSS) API (GH-1362) 2017-10-06 20:41:34 +10:00
_uuidmodule.c bpo-11063: Fix _uuid module on macOS (#3855) 2017-10-02 07:57:59 -07:00
_weakref.c Issue #28427: old keys should not remove new values from 2016-12-27 14:19:20 +01:00
_winapi.c bpo-31471: Fix assertion failure in subprocess.Popen() on Windows, in case env has a bad keys() method. (#3580) 2017-09-14 22:30:27 +03:00
addrinfo.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
arraymodule.c bpo-27541: Reprs of subclasses of some classes now contain actual type name. (#3631) 2017-09-21 14:24:13 +03:00
atexitmodule.c bpo-28994: Fixed errors handling in atexit._run_exitfuncs(). (#2034) 2017-06-12 08:25:04 +03:00
audioop.c bpo-28261: Fixed err msgs where PyArg_ParseTuple is used to parse normal tuples. (#3119) 2017-08-20 18:35:36 +03:00
binascii.c bpo-9566: Fix some Windows x64 compiler warnings (#2492) 2017-07-26 15:17:57 -07:00
cmathmodule.c Issue 23229: add cmath.inf, cmath.nan, cmath.infj and cmath.nanj. 2016-08-29 13:56:58 +01:00
config.c.in PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
errnomodule.c
faulthandler.c bpo-31701: faulthandler: ignore MSC and COM Windows exception (#3929) 2017-10-09 09:52:32 -07:00
fcntlmodule.c bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
fpectlmodule.c remove IRIX support (closes bpo-31341) (#3310) 2017-09-04 16:36:05 -07:00
fpetestmodule.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
gc_weakref.txt
gcmodule.c bpo-31558: Add gc.freeze() (#3705) 2017-10-16 12:49:41 -07:00
getaddrinfo.c Issue #26505: merge from 3.5 2016-03-07 14:52:46 -05:00
getbuildinfo.c bpo-27593: Get SCM build info from git instead of hg. (#446) 2017-03-04 00:19:55 -05:00
getnameinfo.c
getpath.c bpo-31532: Fix memory corruption due to allocator mix (#3679) 2017-09-20 23:08:20 -07:00
grpmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
hashlib.h bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
hashtable.c Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
hashtable.h Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
itertoolsmodule.c bpo-30347: Stop crashes when concurrently iterate over itertools.groupby() iterators. (#1557) 2017-09-26 21:47:56 +03:00
ld_so_aix.in Issue #10656: Fix out-of-tree building on AIX 2016-11-20 07:56:37 +00:00
main.c bpo-28647: Update -u documentation after bpo-30404 (GH-3961) 2017-10-13 15:16:31 +03:00
makesetup bpo-20210: Support the *disabled* marker in Setup files (GH-132) 2017-05-27 18:25:03 +02:00
makexp_aix
mathmodule.c bpo-31338 (#3374) 2017-09-14 18:13:16 -07:00
md5module.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
mmapmodule.c Expand the PySlice_GetIndicesEx macro. (#1023) 2017-04-08 09:53:51 +03:00
nismodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
ossaudiodev.c bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
overlapped.c bpo-31819: Add AbstractEventLoop.sock_recv_into() (#4051) 2017-10-19 15:46:40 -04:00
parsermodule.c bpo-30070: Fixed leaks and crashes in errors handling in the parser module. (#1131) 2017-04-19 21:09:21 +03:00
posixmodule.c os.startfile(): add a C comment on security (#3877) 2017-10-13 13:46:57 -07:00
posixmodule.h
pwdmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
pyexpat.c bpo-28411: Support other mappings in PyInterpreterState.modules. (#3593) 2017-09-15 16:35:20 -06:00
readline.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
README
resource.c bpo-20185: Convert the resource moduel to Argument Clinic. (#545) 2017-03-12 13:08:30 +02:00
rotatingtree.c
rotatingtree.h
selectmodule.c bpo-31334: Fix timeout in select.poll.poll() (GH-3277) 2017-10-17 12:45:07 -07:00
Setup.dist bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
sha1module.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
sha256module.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
sha512module.c Removed redundant Argument Clinic directives. 2017-02-04 11:53:22 +02:00
signalmodule.c bpo-30807: signal.setitimer() now uses _PyTime API (GH-3865) 2017-10-13 13:49:43 -07:00
socketmodule.c bpo-31806: Use _PyTime_ROUND_TIMEOUT for the timeout argument parsing in more functions (#4026) 2017-10-18 10:13:09 +03:00
socketmodule.h bpo-31462: Remove trailing whitespaces. (#3564) 2017-09-14 09:38:36 +03:00
spwdmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
sre.h Issue #28765: _sre.compile() now checks the type of groupindex and indexgroup 2016-11-22 23:04:39 +01:00
sre_constants.h bpo-30215: Make re.compile() locale agnostic. (#1361) 2017-05-05 08:53:40 +03:00
sre_lib.h bpo-30215: Make re.compile() locale agnostic. (#1361) 2017-05-05 08:53:40 +03:00
symtablemodule.c Issue #20186: Converted the symtable module to Argument Clinic. 2017-02-04 12:13:20 +02:00
syslogmodule.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
termios.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
testcapi_long.h
timemodule.c bpo-31806: Use _PyTime_ROUND_TIMEOUT for the timeout argument parsing in more functions (#4026) 2017-10-18 10:13:09 +03:00
tkappinit.c
tkinter.h Issue #16840. Turn off bignum support in tkinter with with Tcl earlier than 8.5.8 2015-04-22 10:59:32 +03:00
unicodedata.c bpo-30736: upgrade to Unicode 10.0 (#2344) 2017-06-22 22:31:08 -07:00
unicodedata_db.h bpo-30736: upgrade to Unicode 10.0 (#2344) 2017-06-22 22:31:08 -07:00
unicodename_db.h bpo-30736: upgrade to Unicode 10.0 (#2344) 2017-06-22 22:31:08 -07:00
winreparse.h Issue #17599: Use unique _Py_REPARSE_DATA_BUFFER etc names to avoid conflict 2016-08-04 02:38:59 +00:00
xxlimited.c merge 3.5 (#29398) 2017-01-31 23:31:10 -08:00
xxmodule.c bpo-31443: Formulate the type slot initialization rules in terms of C99. (#3688) 2017-09-22 17:44:58 +02:00
xxsubtype.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
zipimport.c bpo-31781: Prevent crashes when calling methods of an uninitialized zipimport.zipimporter object (GH-3986) 2017-10-20 13:42:35 -07:00
zlibmodule.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00

Source files for standard library extension modules,
and former extension modules that are now builtin modules.