| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
reduce variable scope
remove one macro usage
|
| |
|
|
|
|
|
| |
separate initial and iterative search
renamed nb_matches
|
|
|
|
| |
llen integrated in opt[]
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static analyzer `cppcheck` complains about a shift-by-32 on a 32 bits value,
which is an undefined behavior.
However, the flagged code path is never triggered in 32-bits mode,
(actually, it's not even generated if DCE kicks in),
the shift-by-32 is necessarily performed on a 64-bits value.
While it doesn't change anything regarding lz4 code generation, for both 32 and 64 bits mode,
(can be checked by md5sum on the generated binary),
the shift has been rewritten in a way which should please this static analyzer,
since it now pretends to shift by 16 on 32-bits cpu (note : it doesn't matter since the code will not even be generated in this case).
Note : this is a blind fix, the new code has not been tested with cppcheck, because cppcheck only works on Windows.
Other static analyzer, such as scan-build, do not trigger this false positive.
|
|
|
|
|
| |
try to improve code readability.
minor optimization on condition to preserve history.
|
|
|
|
| |
dctx must have been initialized before we can copy the dictionary in.
|
|
|
|
| |
reported by @rvandermeulen (#398)
|
|
|
|
|
|
|
|
| |
memory address
Reported and fixed by @jscheid
Note : we are missing a test case to include it in the CI
|
|
|
|
| |
minor : slightly modified an example do avoid disabling a gcc warning through #pragma
|
| |
|
|
|
|
| |
clarifications, improved wording
|
| |
|
|
|
|
|
| |
(synchronous bufferless mode)
answering questions by @jtbandes (#394)
|
|
|
|
| |
identified by @bmwiedemann
|
|
|
|
|
| |
to be more compatible with reproducible builds.
patch inspired by @bmwiedemann
|
|
|
|
|
| |
Clang doesn't accept a C++11 attribute following `LZ4LIB_API`.
Use the GNU attribute instead.
|
|
|
|
| |
compilation when used with other libraries that define FORCE_INLINE
|
|
|
|
| |
reported by Craig Young
|
|\ |
|
| |\
| | |
| | | |
Block checksum
|
| | | |
|
| |\ \
| | |/
| | | |
Frame Dictionary API
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Not obvious : copying the state was copying cdict's compression level
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
note : only compression API is implemented and tested
still to do : decompression API
|
| | |
| | |
| | |
| | |
| | | |
Compressor can set dictID on LZ4F_compressBegin()
Decompressor can retrieve it using LZ4F_getFrameInfo()
|
|/ /
| |
| |
| |
| |
| | |
supports lowercase directory variables
add an "Installation" section in README.md
added an INSTALL file
|
|/
|
|
|
|
|
|
|
|
|
| |
FORCE_INLINE macro is defined based on the compiler used. When using
gcc, it will include "__attribute__((always_inline))" forcing gcc to
always inline all the functions marked as FORCE_INLINE. However, this
can cause a performance degradation of about 15%.
This patch allows to set the FORCE_INLINE macro from the compiler
command line to either "static" or "static inline" giving allowing it
to inline functions as needed when performing optimizations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug would make the bt search read one byte in an invalid memory region,
and make a branch decision based on its value.
Impact was small (missed compression opportunity).
It only happens in -BD mode, with extDict-prefix overlapping matches.
The bt match search is supposed to work also in extDict mode.
In which case, the match ptr can point into Dict.
When the match was overlapping Dict<->Prefix,
match[matchLength] would end up outside of Dict, in an invalid memory area.
The correction ensures that in such a case,
match[matchLength] ends up at intended location, inside prefix.
|
|
|
|
|
| |
For the default Wimplicit-fallthrough=3 level,
the comment should start with "fall*"
|
|
|
|
|
|
|
| |
at the expense of a little bit of compression ratio.
Now speed is intermediate on calgary corpus :
25 - 12 - 8 - 3
|
| |
|
| |
|
| |
|