| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Also : added memory-frugal software byte count for big endian 64-bit cpus.
Disabled by default.
|
|\
| |
| | |
rejigger bit counting intrinsics
|
| |
| |
| | |
MSVC debug mode complains
|
| |
| |
| |
| |
| | |
Fix lz4/lz4#867
Optimize software fallback routines.
Delete some faulty (and dead?) MSVC big endian code.
|
|\ \
| | |
| | | |
added target aarch64, ppc64lw and s390x to TravisCI
|
| | |
| | |
| | |
| | | |
more portability tests
|
|\ \ \
| | | |
| | | | |
[CI][ossfuzz] Fix string equal
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
removed LZ4_compress_fast_force()
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
which serves no more purpose.
The comment implies that the simple presence of this unused function was affecting performance,
and that's the reason why it was not removed earlier.
This is likely another side effect of instruction alignment.
It's obviously unreliable to rely on it in this way,
meaning that the impact will be different, positive of negative,
with any minor code change, and any minor compiler version change, even parameter change.
|
|\ \
| | |
| | | |
Optimized by replacing `endl` with `'\n'`
|
| | | |
|
|\ \ \
| | | |
| | | | |
[build] Move CMake and Visual build systems to build/
|
| | | |
| | | |
| | | |
| | | | |
Fixes #852.
|
|\ \ \ \
| |/ / /
|/| | | |
[CI][Fuzz] Fix Travis-CI fuzzer tests
|
|/ / /
| | |
| | |
| | | |
Fixes #781
|
|\ \ \
| | | |
| | | | |
added target lz4-wlib
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
variant of lz4 linking to liblz4 dynamic library
requires the dynamic library to expose static-only symbols (experimental API)
Example for #888
|
|\ \ \
| |/ /
|/| | |
Clarifies and fix EndMark
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EndMark, the 4-bytes value indicating the end of frame,
must be `0x00000000`.
Previously, it was just mentioned as a `0-size` block.
But such definition could encompass uncompressed blocks of size 0,
with a header of value `0x80000000`.
But the intention was to also support uncompressed empty blocks.
They could be used as a keep-alive signal.
Note that compressed empty blocks are already supported,
it's just that they have a size 1 instead of 0 (for the `0` token).
Unfortunately, the decoder implementation was also wrong,
and would also interpret a `0x80000000` block header as an endMark.
This issue evaded detection so far simply because
this situation never happens, as LZ4Frame always issues
a clean 0x00000000 value as a endMark.
It also does not flush empty blocks.
This is fixed in this PR.
The decoder can now deal with empty uncompressed blocks,
and do not confuse them with EndMark.
The specification is also clarified.
Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
|
|\ \ |
|
| | | |
|
|\ \ \
| |/ /
| | | |
fix #832
|
| | |
| | |
| | |
| | | |
does no longer rely on default 0-interpretation when __GNUC__ is not defined
|
|\ \ \
| |/ /
|/| | |
Fix #876
|
| | |
| | |
| | |
| | | |
by introducing a max limit acceleration value
|
| | |
| | |
| | |
| | |
| | |
| | | |
with huge values, as expected from #876
Also : added target `check`
|
|\ \ \
| |/ /
|/| | |
Remove dirty Flag in LZ4_stream_t
|
| | |
| | |
| | |
| | | |
Fixes `-Wsign-compare` issues.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Nothing internally sets dirty anymore. The only way to get that is if you use
an uninitialized context, in which case your warranty is void anyways.
|
|\ \ \
| |/ /
|/| | |
Add LZ4FLIB_VISIBILITY for controlling library symbol visibility
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Call LZ4_memcpy() instead of memcpy()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`LZ4_memcpy()` uses `__builtin_memcpy()` to ensure that clang/gcc
can inline the `memcpy()` calls in freestanding mode.
This is necessary for decompressing the Linux Kernel with LZ4.
Without an analogous patch decompression ran at 77 MB/s, and with
the patch it ran at 884 MB/s.
|
|\ \ \ \
| |/ / /
|/| | | |
meson: remove build requirement for distutils
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
Tested on a default installation of Debian 10.
Same as https://github.com/facebook/zstd/pull/2197
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|\ \ \
| |/ /
|/| | |
Avoid old-style function definitions
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Define 0-argument functions like foo(void) instead of foo(), in order
to avoid a warning with -Wold-style-definition. This makes it easier
to embed lz4.c in projects that compile with -Werror
-Wold-style-definition.
|
| |\ \
| | | |
| | | | |
v1.9.2
|
|\ \ \ \
| | | | |
| | | | | |
Reducing stack usage in _t_alignment checks
|
| | |_|/
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix issue #865
|
| | | | | |
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
[build] FreeBSD update version 12.0 -> 12.1
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
avoid computing 0 offsets from null pointers
|