| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
We need this for Kyber, which uses 34 byte inputs to XOF when
computing the public matrix.
|
|
|
|
| |
Thanks to @noloader for testing this and the relevant info.
|
|\ |
|
| | |
|
| |
| |
| |
| | |
It is (mildly) dangerous with larger types, and we don't need it.
|
|/
|
|
|
| |
Most importantly, avoid an allocation when the key is larger than a
block size. Also avoid some virtual calls that can be cached.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Needed for #1819 and unfortunately Windows does not allow thread local
data to be stored as a member of a DLL exported class. So hide it
behind an accessor function instead.
This slows down CPUID test somewhat and I would like to address that
but it seems hard without breaking the CPUID API, which is for better
or worse public.
|
|/
|
|
| |
See #1822
|
| |
|
|
|
|
|
| |
std::condition_variable only works with std::mutex anyway, and
this module is not enabled on systems without threads.
|
|
|
|
|
|
|
|
|
| |
Both threads called Modular_Reducer::reduce on m, which caused the
significant words result to be written twice in an unsynchronized way.
By calling it once beforehand it is computed and cached and so no
additional writes occur.
Found with helgrind.
|
| |
|
| |
|
|
|
|
| |
Deprecate some crufty functions. Optimize binary encoding/decoding.
|
|
|
|
|
|
| |
Previously the calls were commented out as this has a substantial
performance impact. Allow enabling them via a build.h toggle, and
enable it by default when debug asserts are turned on.
|
|
|
|
| |
Now this is checked at the higher level
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the meaning and usage more clear.
Add a specific error type so invalid tags can be distinguished without
having to catch that specific type.
See also #1813
|
|/
|
|
| |
Both about 33% faster on Skylake
|
| |
|
|
|
|
|
|
|
|
|
| |
Boost doesn't buy us anything here since we need to maintain
Win32 and POSIX implementations for non-Boost builds, and Boost
only supports those two APIs anyway.
MSVC's implementation of std::filesystem does not help for similar
reasons, as we have to maintain a Win32 version for MinGW.
|
|
|
|
| |
This lets us avoid some warnings under VC++ 2017
|
|
|
|
| |
No real bugs, but pointed out some odd constructs and duplicated logic
|
|\ |
|
| |
| |
| |
| |
| | |
No resources to free with actual OS features but might be
of use for later.
|
| |
| |
| |
| | |
For now only used by the TLS server.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
The problem in #602 is not the use of mmap but the use of mmap with
MAP_SHARED. Using MAP_PRIVATE creates a CoW mapping just like malloc
or posix_memalign would.
I'm not sure why it took me so long to figure this out ...
|
| |
|
| |
|
|
|
|
|
| |
Quite a bit faster than the old version, and with better properties
wrt alignment
|
|
|
|
| |
Lots more of this needed in here
|
| |
|
|
|
|
| |
Here the caller is assumed to have provided a buffer of sufficient size.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Assumed to be 0/1
|
| |
| |
| |
| | |
Also fix xlc macro
|
| |
| |
| |
| | |
Recent XLC is based on clang and has these
|
| |
| |
| |
| |
| |
| | |
XLC 16 changed which macros are used to identify it. Older versions of
XLC didn't work correctly anyway (#1581 #1509 etc), so just drop support
for recognizing those versions.
|
| |
| |
| |
| | |
Was broken by removing inclusion of rotate header
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Basically, test that it works. Accepts a sequence of alloc+free
operations and verify that each pointer returned does not overlap with
any other outstanding allocation, that the memory returned is zeroed,
and that alignment is respected.
Intended for testing #1800 but no reason not to land this first.
|
|
|
|
|
|
|
|
|
| |
Make the tune interval a build-time configurable instead of hardcoding
it in each source file.
Also use binary search in RFC4880_encode_count instead of linear search.
Fix a bug in Timer
|
| |
|
|
|
|
| |
Combines the priv check and the getenv call on one.
|