]>
git.ipfire.org Git - thirdparty/zstd.git/log
John Ericson [Tue, 12 Nov 2019 20:34:00 +0000 (15:34 -0500)]
Fix MinGW cross install from Unix
Needed a bunch of `$(EXT)`
John Ericson [Tue, 12 Nov 2019 20:13:35 +0000 (15:13 -0500)]
Fix MinGW cross build from Unix
generate_res.bat seems rather pointless, am I missing something? I just
inlined it into the Makefile.
John Ericson [Tue, 12 Nov 2019 23:59:06 +0000 (18:59 -0500)]
Use lowercase windows.h
Helps for cross builds, doesn't matter on Windows itself.
Felix Handte [Mon, 19 Aug 2019 20:48:01 +0000 (16:48 -0400)]
v1.4.3: Merge pull request #1730 from facebook/dev
Felix Handte [Thu, 15 Aug 2019 19:55:46 +0000 (15:55 -0400)]
Merge pull request #1722 from felixhandte/legacy-decompression-fix
Fix Buffer Overflow in Legacy (v0.3) Raw Literals Decompression
W. Felix Handte [Thu, 15 Aug 2019 18:42:38 +0000 (14:42 -0400)]
Add to CHANGELOG for Upcoming Release
W. Felix Handte [Thu, 15 Aug 2019 18:24:45 +0000 (14:24 -0400)]
Fix Buffer Overflow in Legacy (v0.3) Raw Literals Decompression
Felix Handte [Tue, 6 Aug 2019 21:02:37 +0000 (17:02 -0400)]
Merge pull request #1711 from felixhandte/changelog-v1.4.3
Update Changelog for v1.4.3
W. Felix Handte [Tue, 6 Aug 2019 17:44:05 +0000 (13:44 -0400)]
Update Changelog for v1.4.3
Yann Collet [Mon, 5 Aug 2019 15:17:16 +0000 (17:17 +0200)]
bumped version number
to v1.4.3
Yann Collet [Mon, 5 Aug 2019 13:57:28 +0000 (15:57 +0200)]
Merge pull request #1705 from josepho0918/dev
Add support for IAR C/C++ Compiler for Arm
Yann Collet [Mon, 5 Aug 2019 13:56:50 +0000 (15:56 +0200)]
Merge pull request #1706 from LeeYoung624/dev
add NULL pointer check in util.c
Yann Collet [Mon, 5 Aug 2019 13:54:59 +0000 (15:54 +0200)]
Merge pull request #1709 from facebook/fix1624
Fix compression ratio inefficiency
Yann Collet [Mon, 5 Aug 2019 13:18:43 +0000 (15:18 +0200)]
factored the logic selecting lowest match index
as suggested by @terrelln
Yann Collet [Sat, 3 Aug 2019 14:43:34 +0000 (16:43 +0200)]
fix test 122
it's an unsupported scenario.
Yann Collet [Fri, 2 Aug 2019 17:31:19 +0000 (19:31 +0200)]
minor test refactoring
just for clarity, for the currently failing unit test
Yann Collet [Fri, 2 Aug 2019 16:02:54 +0000 (18:02 +0200)]
fixed minor conversion warning in datagen
Yann Collet [Fri, 2 Aug 2019 15:34:53 +0000 (17:34 +0200)]
fixed datagen
to produce same content on both 32 and 64-bit platforms
by removing floating from literal table determination.
also : added checksum trace in compression control test,
so that it's easier to determine if test fails
as a consequence of compressing a different sample.
Yann Collet [Fri, 2 Aug 2019 13:31:00 +0000 (15:31 +0200)]
regenerate sample to compress
to reduce chances of differences between 32 and 64-bit fuzzer tests
Yann Collet [Fri, 2 Aug 2019 12:42:53 +0000 (14:42 +0200)]
fixed strategies btopt+
Yann Collet [Fri, 2 Aug 2019 12:26:26 +0000 (14:26 +0200)]
fixed strategy btlazy2
Yann Collet [Fri, 2 Aug 2019 12:21:39 +0000 (14:21 +0200)]
fixed strategies greedy, lazy & lazy2
restore dictionary compression ratio
Yann Collet [Thu, 1 Aug 2019 15:12:26 +0000 (17:12 +0200)]
minor : fixed ptr arithmetic
invalid on void ptr
Yann Collet [Thu, 1 Aug 2019 14:59:22 +0000 (16:59 +0200)]
added efficiency test
to detect gross CR variations after a patch.
Tests normal and dictionary compression.
Yann Collet [Thu, 1 Aug 2019 13:58:17 +0000 (15:58 +0200)]
fixed compression ratio regression when dictionary-compressing medium-size inputs at levels 1-3
Yann Collet [Wed, 31 Jul 2019 11:43:00 +0000 (13:43 +0200)]
Merge pull request #1707 from felixhandte/travis-versions-test
Run `versionsTest` in CI
W. Felix Handte [Wed, 31 Jul 2019 00:11:25 +0000 (20:11 -0400)]
Run `versionsTest` in CI
LeeYoung624 [Mon, 29 Jul 2019 09:05:50 +0000 (17:05 +0800)]
bug fix : NULL pointer
Joseph Chen [Mon, 29 Jul 2019 07:20:37 +0000 (15:20 +0800)]
Add support for IAR C/C++ Compiler for Arm
Felix Handte [Thu, 25 Jul 2019 17:44:51 +0000 (13:44 -0400)]
v1.4.2: Merge pull request #1700 from facebook/dev
Felix Handte [Thu, 25 Jul 2019 15:56:37 +0000 (11:56 -0400)]
Merge pull request #1701 from LeeYoung624/dev
memory leak fix
LeeYoung624 [Thu, 25 Jul 2019 13:07:57 +0000 (21:07 +0800)]
memory leak fix
Felix Handte [Wed, 24 Jul 2019 23:07:55 +0000 (19:07 -0400)]
Merge pull request #1699 from felixhandte/seekable-gitignore
Add New Seekable Compression Example to .gitignore
Yann Collet [Wed, 24 Jul 2019 23:04:37 +0000 (16:04 -0700)]
updated man page
Yann Collet [Wed, 24 Jul 2019 23:03:01 +0000 (16:03 -0700)]
Merge pull request #1698 from felixhandte/bump-version-to-1.4.2
Bump Library Version Number to 1.4.2
Yann Collet [Wed, 24 Jul 2019 22:37:05 +0000 (15:37 -0700)]
Merge pull request #1690 from piguin/dev
fix compiling errors with clang-8
Yann Collet [Wed, 24 Jul 2019 22:35:11 +0000 (15:35 -0700)]
Merge pull request #1697 from Tyler-Tran/dev
Adding documentation for --shrink flag
W. Felix Handte [Wed, 24 Jul 2019 22:22:20 +0000 (18:22 -0400)]
Add New Seekable Compression Example to .gitignore
W. Felix Handte [Wed, 24 Jul 2019 22:21:11 +0000 (18:21 -0400)]
Update Manual
W. Felix Handte [Wed, 24 Jul 2019 21:35:52 +0000 (17:35 -0400)]
Update CHANGELOG
W. Felix Handte [Wed, 24 Jul 2019 21:28:04 +0000 (17:28 -0400)]
Bump Library Version Number to 1.4.2
Tyler Tran [Wed, 24 Jul 2019 20:53:50 +0000 (13:53 -0700)]
previous commit did not undo all changes
Tyler Tran [Wed, 24 Jul 2019 20:52:34 +0000 (13:52 -0700)]
removing changes to zstd.1
Tyler Tran [Mon, 22 Jul 2019 23:36:44 +0000 (16:36 -0700)]
modifying minor nit
Tyler Tran [Mon, 22 Jul 2019 23:33:22 +0000 (16:33 -0700)]
Adding documentation for shrink flag PR #1656
Yann Collet [Mon, 22 Jul 2019 22:34:32 +0000 (15:34 -0700)]
Merge pull request #1695 from iburinoc/seekable-buff
Fix seekable decompression in-memory api
Nick Terrell [Mon, 22 Jul 2019 22:06:18 +0000 (18:06 -0400)]
Merge pull request #1696 from terrelln/legacy-fix
[legacy] Fix bug in zstd-0.5 decoder
Nick Terrell [Mon, 22 Jul 2019 20:05:09 +0000 (13:05 -0700)]
[legacy] Fix bug in zstd-0.5 decoder
The match length and literal length extra bytes could either
by 2 bytes or 3 bytes in version 0.5. All earlier verions were
always 3 bytes, and later version didn't have dumps.
The bug, introduced by commit
0fd322f812211e653a83492c0c114b933f8b6bc5 ,
was triggered when the last dump was a 2-byte dump, because we didn't
separate that case from a 3-byte dump, and thought we were over-reading.
I've tested this fix with every zstd version < 1.0.0 on the buggy file,
and we are now always successfully decompressing with the right
checksum.
Fixes #1693.
Sean Purcell [Mon, 22 Jul 2019 03:22:25 +0000 (23:22 -0400)]
Fix seekable decompression in-memory api
Yann Collet [Fri, 19 Jul 2019 22:29:07 +0000 (15:29 -0700)]
Merge pull request #1679 from ephiepark/dev
Restructure the source files
Yann Collet [Fri, 19 Jul 2019 22:22:29 +0000 (15:22 -0700)]
Merge pull request #1685 from vivekmig/dev
Add Check if Block Size Exceeds Maximum
Felix Handte [Fri, 19 Jul 2019 18:37:37 +0000 (14:37 -0400)]
v1.4.1: Merge pull request #1691 from facebook/dev
Yann Collet [Fri, 19 Jul 2019 16:10:39 +0000 (09:10 -0700)]
Merge pull request #1692 from felixhandte/v1.4.1-changelog
Update CHANGELOG with v1.4.1 Changes
W. Felix Handte [Fri, 19 Jul 2019 15:18:10 +0000 (11:18 -0400)]
Update CHANGELOG with v1.4.1 Changes
Qin Li [Thu, 18 Jul 2019 18:44:59 +0000 (11:44 -0700)]
fix compiling errors with clang-8
Compiling with clang-8 fails with the following errors:
largeNbDicts.c:562:37: error: implicit conversion turns floating-point
number into integer: 'const double' to 'U64' (aka 'unsigned long')
[-Werror,-Wfloat-conversion]
U64 const dTime_ns = result.nanoSecPerRun;
~~~~~~~~ ~~~~~~~^~~~~~~~~~~~~
zstdcli.c:300:5: error: '@return' command used in a comment that is
not attached to a function or method declaration
[-Werror,-Wdocumentation]
* @return 1 means that cover parameters were correct
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zstdcli.c:301:5: error: '@return' command used in a comment that is
not attached to a function or method declaration
[-Werror,-Wdocumentation]
* @return 0 in case of malformed parameters
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vivek Miglani [Thu, 18 Jul 2019 21:32:09 +0000 (14:32 -0700)]
Fixing decodecorpus test issue
W. Felix Handte [Wed, 17 Jul 2019 21:55:15 +0000 (17:55 -0400)]
[doc] Bump Format Spec Version
W. Felix Handte [Wed, 17 Jul 2019 21:30:09 +0000 (17:30 -0400)]
[doc] Remove Limitation that Compressed Block is Smaller than Uncompressed Content
This changes the size limit on compressed blocks to match those of the other
block types: they may not be larger than the `Block_Maximum_Decompressed_Size`,
which is the smaller of the `Window_Size` and 128 KB, removing the additional
restriction that had been placed on `Compressed_Block`s, that they be smaller
than the decompressed content they represent.
Several things motivate removing this restriction. On the one hand, this
restriction is not useful for decoders: the decoder must nonetheless be
prepared to accept compressed blocks that are the full
`Block_Maximum_Decompressed_Size`. And on the other, this bound is actually
artificially limiting. If block representations were entirely independent,
a compressed representation of a block that is larger than the contents of the
block would be ipso facto useless, and it would be strictly better to send it
as an `Raw_Block`. However, blocks are not entirely independent, and it can
make sense to pay the cost of encoding custom entropy tables in a block, even
if that pushes that block size over the size of the data it represents,
because those tables can be re-used by subsequent blocks.
Finally, as far as I can tell, this restriction in the spec is not currently
enforced in any Zstandard implementation, nor has it ever been. This change
should therefore be safe to make.
Vivek Miglani [Wed, 17 Jul 2019 19:53:15 +0000 (12:53 -0700)]
Fixing compressed block size checks
Ephraim Park [Wed, 3 Jul 2019 20:40:37 +0000 (13:40 -0700)]
Restructure the source files
Nick Terrell [Mon, 15 Jul 2019 19:39:52 +0000 (15:39 -0400)]
Merge pull request #1684 from terrelln/regression
[regression] Update results for ZSTD_double_fast update
Vivek Miglani [Mon, 15 Jul 2019 19:10:21 +0000 (12:10 -0700)]
Return error if block size exceeds maximum
Nick Terrell [Mon, 15 Jul 2019 18:25:22 +0000 (11:25 -0700)]
[regression] Update results for ZSTD_double_fast update
Vivek Miglani [Mon, 15 Jul 2019 17:47:09 +0000 (10:47 -0700)]
Merge branch 'master' of https://github.com/vivekmig/zstd into dev
Yann Collet [Fri, 12 Jul 2019 23:16:06 +0000 (16:16 -0700)]
Merge pull request #1681 from facebook/level3
updated double_fast complementary insertion
Nick Terrell [Fri, 12 Jul 2019 22:45:18 +0000 (18:45 -0400)]
[ldm] Fix bug in overflow correction with large job size (#1678)
* [ldm] Fix bug in overflow correction with large job size
* [zstdmt] Respect ZSTDMT_JOBSIZE_MAX (1G in 64-bit mode)
* [test] Add test that exposes the bug
Sadly the test fails on our CI because it uses too much memory, so
I had to comment it out.
Yann Collet [Fri, 12 Jul 2019 21:17:17 +0000 (14:17 -0700)]
updated the _extDict variant of double fast
Yann Collet [Fri, 12 Jul 2019 18:34:53 +0000 (11:34 -0700)]
double-fast: changed the trade-off for a smaller positive change
same number of complementary insertions, just organized differently
(long at `ip-2`, short at `ip-1`).
mgrice [Thu, 11 Jul 2019 22:31:07 +0000 (15:31 -0700)]
perf improvements for zstd decode (#1668)
* perf improvements for zstd decode
tldr: 7.5% average decode speedup on silesia corpus at compression levels 1-3 (sandy bridge)
Background: while investigating zstd perf differences between clang and gcc I noticed that even though gcc is vectorizing the loop in in wildcopy, it was not being done as well as could be done by hand. The sites where wildcopy is invoked have an interesting distribution of lengths to be copied. The loop trip count is rarely above 1, yet long copies are common enough to make their performance important.The code in zstd_decompress.c to invoke wildcopy handles the latter well but the gcc autovectorizer introduces a needlessly expensive startup check for vectorization.
See how GCC autovectorizes the loop here:
https://godbolt.org/z/apr0x0
Here is the code after this diff has been applied: (left hand side is the good one, right is with vectorizer on)
After: https://godbolt.org/z/OwO4F8
Note that autovectorization still does not do a good job on the optimized version, so it's turned off\
via attribute and flag. I found that neither attribute nor command-line flag were entirely successful in turning off vectorization, which is why there were both.
silesia benchmark data - second triad of each file is with the original code:
file orig compressedratio encode decode change
1#dickens
10192446 ->
4268865 (2.388), 198.9MB/s 709.6MB/s
2#dickens
10192446 ->
3876126 (2.630), 128.7MB/s 552.5MB/s
3#dickens
10192446 ->
3682956 (2.767), 104.6MB/s 537MB/s
1#dickens
10192446 ->
4268865 (2.388), 195.4MB/s 659.5MB/s 7.60%
2#dickens
10192446 ->
3876126 (2.630), 127MB/s 516.3MB/s 7.01%
3#dickens
10192446 ->
3682956 (2.767), 105MB/s 479.5MB/s 11.99%
1#mozilla
51220480 ->
20117517 (2.546), 285.4MB/s 734.9MB/s
2#mozilla
51220480 ->
19067018 (2.686), 220.8MB/s 686.3MB/s
3#mozilla
51220480 ->
18508283 (2.767), 152.2MB/s 669.4MB/s
1#mozilla
51220480 ->
20117517 (2.546), 283.4MB/s 697.9MB/s 5.30%
2#mozilla
51220480 ->
19067018 (2.686), 225.9MB/s 665MB/s 3.20%
3#mozilla
51220480 ->
18508283 (2.767), 154.5MB/s 640.6MB/s 4.50%
1#mr
9970564 ->
3840242 (2.596), 262.4MB/s 899.8MB/s
2#mr
9970564 ->
3600976 (2.769), 181.2MB/s 717.9MB/s
3#mr
9970564 ->
3563987 (2.798), 116.3MB/s 620MB/s
1#mr
9970564 ->
3840242 (2.596), 253.2MB/s 827.3MB/s 8.76%
2#mr
9970564 ->
3600976 (2.769), 177.4MB/s 655.4MB/s 9.54%
3#mr
9970564 ->
3563987 (2.798), 111.2MB/s 564.2MB/s 9.89%
1#nci
33553445 ->
2849306 (11.78), 575.2MB/s , 1335.8MB/s
2#nci
33553445 ->
2890166 (11.61), 509.3MB/s , 1238.1MB/s
3#nci
33553445 ->
2857408 (11.74), 431MB/s , 1210.7MB/s
1#nci
33553445 ->
2849306 (11.78), 565.4MB/s , 1220.2MB/s 9.47%
2#nci
33553445 ->
2890166 (11.61), 508.2MB/s , 1128.4MB/s 9.72%
3#nci
33553445 ->
2857408 (11.74), 429.1MB/s , 1097.7MB/s 10.29%
1#ooffice
6152192 ->
3590954 (1.713), 231.4MB/s , 662.6MB/s
2#ooffice
6152192 ->
3323931 (1.851), 162.8MB/s , 592.6MB/s
3#ooffice
6152192 ->
3145625 (1.956), 99.9MB/s , 549.6MB/s
1#ooffice
6152192 ->
3590954 (1.713), 224.7MB/s , 624.2MB/s 6.15%
2#ooffice
6152192 ->
3323931 (1.851), 155MB/s , 564.5MB/s 4.98%
3#ooffice
6152192 ->
3145625 (1.956), 101.1MB/s , 521.2MB/s 5.45%
1#osdb
10085684 ->
3739042 (2.697), 271.9MB/s 876.4MB/s
2#osdb
10085684 ->
3493875 (2.887), 208.2MB/s 857MB/s
3#osdb
10085684 ->
3515831 (2.869), 135.3MB/s 805.4MB/s
1#osdb
10085684 ->
3739042 (2.697), 257.4MB/s 793.8MB/s 10.41%
2#osdb
10085684 ->
3493875 (2.887), 209.7MB/s 776.1MB/s 10.42%
3#osdb
10085684 ->
3515831 (2.869), 130.6MB/s 727.7MB/s 10.68%
1#reymont
6627202 ->
2152771 (3.078), 198.9MB/s 696.2MB/s
2#reymont
6627202 ->
2071140 (3.200), 170MB/s 595.2MB/s
3#reymont
6627202 ->
1953597 (3.392), 128.5MB/s 609.7MB/s
1#reymont
6627202 ->
2152771 (3.078), 199.6MB/s 655.2MB/s 6.26%
2#reymont
6627202 ->
2071140 (3.200), 168.2MB/s 554.4MB/s 7.36%
3#reymont
6627202 ->
1953597 (3.392), 128.7MB/s 557.4MB/s 9.38%
1#samba
21606400 ->
5510994 (3.921), 338.1MB/s 1066MB/s
2#samba
21606400 ->
5240208 (4.123), 258.7MB/s 992.3MB/s
3#samba
21606400 ->
5003358 (4.318), 200.2MB/s 991.1MB/s
1#samba
21606400 ->
5510994 (3.921), 330.8MB/s 974MB/s 9.45%
2#samba
21606400 ->
5240208 (4.123), 257.9MB/s 919.4MB/s 7.93%
3#samba
21606400 ->
5003358 (4.318), 198.5MB/s 908.9MB/s 9.04%
1#sao
7251944 ->
6256401 (1.159), 194.6MB/s 602.2MB/s
2#sao
7251944 ->
5808761 (1.248), 128.2MB/s 532.1MB/s
3#sao
7251944 ->
5556318 (1.305), 73MB/s 509.4MB/s
1#sao
7251944 ->
6256401 (1.159), 198.7MB/s 580.7MB/s 3.70%
2#sao
7251944 ->
5808761 (1.248), 129.1MB/s 502.7MB/s 5.85%
3#sao
7251944 ->
5556318 (1.305), 74.6MB/s 493.1MB/s 3.31%
1#webster
41458703 ->
13692222 (3.028), 222.3MB/s 752MB/s
2#webster
41458703 ->
12842646 (3.228), 157.6MB/s 532.2MB/s
3#webster
41458703 ->
12191964 (3.400), 124MB/s 468.5MB/s
1#webster
41458703 ->
13692222 (3.028), 219.7MB/s 697MB/s 7.89%
2#webster
41458703 ->
12842646 (3.228), 153.9MB/s 495.4MB/s 7.43%
3#webster
41458703 ->
12191964 (3.400), 124.8MB/s 444.8MB/s 5.33%
1#xml
5345280 -> 696652(7.673), 485MB/s , 1333.9MB/s
2#xml
5345280 -> 681492(7.843), 405.2MB/s , 1237.5MB/s
3#xml
5345280 -> 639057(8.364), 328.5MB/s , 1281.3MB/s
1#xml
5345280 -> 696652(7.673), 473.1MB/s , 1232.4MB/s 8.24%
2#xml
5345280 -> 681492(7.843), 398.6MB/s , 1145.9MB/s 7.99%
3#xml
5345280 -> 639057(8.364), 327.1MB/s , 1175MB/s 9.05%
1#x-ray
8474240 ->
6772557 (1.251), 521.3MB/s 762.6MB/s
2#x-ray
8474240 ->
6684531 (1.268), 230.5MB/s 688.5MB/s
3#x-ray
8474240 ->
6166679 (1.374), 68.7MB/s 478.8MB/s
1#x-ray
8474240 ->
6772557 (1.251), 502.8MB/s 736.7MB/s 3.52%
2#x-ray
8474240 ->
6684531 (1.268), 224.4MB/s 662MB/s 4.00%
3#x-ray
8474240 ->
6166679 (1.374), 67.3MB/s 437.8MB/s 9.37%
7.51%
* makefile changed to only pass -fno-tree-vectorize to gcc
* <Replace this line with a title. Use 1 line only, 67 chars or less>
Don't add "no-tree-vectorize" attribute on clang (which defines __GNUC__)
* fix for warning/error with subtraction of void* pointers
* fix c90 conformance issue - ISO C90 forbids mixed declarations and code
* Fix assert for negative diff, only when there is no overlap
* fix overflow revealed in fuzzing tests
* tweak for small speed increase
Yann Collet [Thu, 11 Jul 2019 22:25:22 +0000 (15:25 -0700)]
updated double_fast complementary insertion
in a way which is more favorable to compression ratio,
though very slightly slower (~-1%).
More details in the PR.
Yann Collet [Wed, 10 Jul 2019 20:32:31 +0000 (13:32 -0700)]
Merge pull request #1675 from ephiepark/dev
Factor out the logic to build sequences
Yann Collet [Tue, 9 Jul 2019 21:54:48 +0000 (14:54 -0700)]
updated .gitignore
Yann Collet [Tue, 9 Jul 2019 21:44:22 +0000 (14:44 -0700)]
updated .gitignore rule
Yann Collet [Tue, 9 Jul 2019 21:36:38 +0000 (14:36 -0700)]
Merge pull request #1677 from LeeYoung624/gitignore_fix
fix gitignore errors
Yann Collet [Tue, 9 Jul 2019 18:43:59 +0000 (11:43 -0700)]
updated version number (to v1.4.1)
also : added doc on context re-use, as suggested by @scherepanov at #1676
LeeYoung624 [Tue, 9 Jul 2019 10:00:17 +0000 (18:00 +0800)]
fix gitignore errors
Yann Collet [Thu, 4 Jul 2019 00:47:44 +0000 (17:47 -0700)]
Merge pull request #1671 from ephiepark/dev
Adding targetCBlockSize param
Ephraim Park [Mon, 24 Jun 2019 22:26:07 +0000 (15:26 -0700)]
Factor out the logic to build sequences
Ephraim Park [Mon, 24 Jun 2019 20:40:52 +0000 (13:40 -0700)]
Adding targetCBlockSize param
Nick Terrell [Wed, 3 Jul 2019 05:05:07 +0000 (22:05 -0700)]
[fuzz] Add a compression fuzzer with randomly sized output buffer (#1670)
Nick Terrell [Tue, 2 Jul 2019 22:45:47 +0000 (15:45 -0700)]
ZSTD_compressSequences_internal assert op <= oend (#1667)
When we wrote one byte beyond the end of the buffer for RLE
blocks back in 1.3.7, we would then have `op > oend`. That is
a problem when we use `oend - op` for the size of the destination
buffer, and allows further writes beyond the end of the buffer for
the rest of the function. Lets assert that it doesn't happen.
Yann Collet [Mon, 1 Jul 2019 22:01:43 +0000 (15:01 -0700)]
Merge pull request #1658 from facebook/memset
memset() rather than reduceIndex()
Yann Collet [Mon, 1 Jul 2019 21:13:49 +0000 (14:13 -0700)]
Merge pull request #1664 from ephiepark/dev
decodecorpus
Ephraim Park [Mon, 1 Jul 2019 17:18:59 +0000 (10:18 -0700)]
Merge pull request #7 from ephiepark/decodecorpus
reflect code review comments
Ephraim Park [Mon, 1 Jul 2019 17:17:30 +0000 (10:17 -0700)]
reflect code review comments
Yann Collet [Sun, 30 Jun 2019 18:36:35 +0000 (11:36 -0700)]
Merge pull request #1665 from lzutao/meson-deprecated-warnings
meson: Fix deprecated build warnings on build options
Lzu Tao [Fri, 28 Jun 2019 19:05:05 +0000 (02:05 +0700)]
meson: Always build gen_html on build machine
Because we use gen_html as a generator instead of a binary to
run on host machine.
Lzu Tao [Fri, 28 Jun 2019 18:59:57 +0000 (01:59 +0700)]
meson: Fix deprecated build warnings on build options
Meson now reserves the `build_` prefix for options
Lzu Tao [Fri, 28 Jun 2019 18:42:17 +0000 (01:42 +0700)]
meson: Beautify travis config
Ephraim Park [Fri, 28 Jun 2019 00:38:50 +0000 (17:38 -0700)]
Merge pull request #6 from ephiepark/decodecorpus
Add test case for short bistream
Ephraim Park [Fri, 28 Jun 2019 00:27:29 +0000 (17:27 -0700)]
Add test case for short bistream
Tyler-Tran [Thu, 27 Jun 2019 23:26:57 +0000 (16:26 -0700)]
Adding shrinking flag for cover and fastcover (#1656)
* Changed ERROR(GENERIC) excluding inits
* editing git ignore
* Edited init functions to size_t returns
* moved declarations earlier
* resolved issues with changes to init functions
* fixed style and an error check
* attempting to add tests that might trigger changes
* added && die to cases expecting to fail
* resolved no die on expected failed command
* fixed accel to be incorrect value
* Adding an automated shrinking option
* Fixing build
* finalizing fixes
* fix?
* Removing added comment in cover.h
* Styling fixes
* Merging with fb dev
* removing megic number for default regression
* Requested revisions
* fixing support for fast cover
* fixing casting errors
* parenthesis fix
* fixing some build nits
* resolving travis ci syntax
* might resolve all compilation issues
* removed unused variable
* remodeling the selectDict function
* fixing bad memory access
* fixing error checks
* fixed erroring check in selectDict
* fixing mixed declarations
* modify mixed declaration
* fixing nits and adding test cases
* Adding requested changes + fixed bug for error checking
* switched double comparison from != to <
* fixed declaration typing
* refactoring COVER_best_finish() and changing shrinkDict
* removing the const's
* modifying ZDICT_optimizeTrainFromBuffer_cover functions
* fixing potential bad memcpy
* fixing the error function for dict size
Ephraim Park [Thu, 27 Jun 2019 22:02:48 +0000 (15:02 -0700)]
Merge pull request #5 from ephiepark/decodecorpus
Decodecorpus
Ephraim Park [Wed, 26 Jun 2019 23:43:37 +0000 (16:43 -0700)]
Fix a constraint stricter than the spec
Ephraim Park [Wed, 26 Jun 2019 23:39:00 +0000 (16:39 -0700)]
enable repeat mode on rle
Yann Collet [Mon, 24 Jun 2019 21:39:29 +0000 (14:39 -0700)]
changed naming to ZSTD_indexTooCloseToMax()
Also : minor speed optimization :
shortcut to ZSTD_reset_matchState() rather than the full reset process.
It still needs to be completed with ZSTD_continueCCtx() for proper initialization.
Also : changed position of LDM hash tables in the context,
so that the "regular" hash tables can be at a predictable position,
hence allowing the shortcut to ZSTD_reset_matchState() without complex conditions.
Nick Terrell [Mon, 24 Jun 2019 19:40:58 +0000 (12:40 -0700)]
Merge pull request #1659 from terrelln/big-dict
Fix data corruption in niche use case
Nick Terrell [Sat, 22 Jun 2019 00:35:43 +0000 (17:35 -0700)]
[tests] Add tests for big dictionaries
Yann Collet [Fri, 21 Jun 2019 23:19:21 +0000 (16:19 -0700)]
prefer memset() rather than reduceIndex() when close to index range limit
by disabling continue mode when index is close to limit.
Yann Collet [Fri, 21 Jun 2019 22:58:55 +0000 (15:58 -0700)]
benchfn : added macro macro CONTROL()
like assert() but cannot be disabled.
proper separation of user contract errors (CONTROL())
and invariant verification (assert()).