]>
git.ipfire.org Git - thirdparty/zstd.git/log
senhuang42 [Thu, 15 Oct 2020 13:56:05 +0000 (09:56 -0400)]
Change cycleLog adjustment to +3 from +4
senhuang42 [Wed, 14 Oct 2020 14:17:50 +0000 (10:17 -0400)]
Merge branch 'dev' of github.com:senhuang42/zstd into change_ldm_mt_config
Nick Terrell [Tue, 13 Oct 2020 22:42:46 +0000 (15:42 -0700)]
Merge pull request #2356 from bsdimp/neon
aarch64: use __ARM_NEON instead of __aarch64__ to control use of neon
Yann Collet [Tue, 13 Oct 2020 20:09:33 +0000 (13:09 -0700)]
Merge pull request #2281 from likema/fix-aix-51
Fix building on AIX 5.1
Yann Collet [Tue, 13 Oct 2020 20:09:07 +0000 (13:09 -0700)]
Merge pull request #2341 from senhuang42/ldm_optimized_for_opt_parser
Integrate long distance matches into optimal parser
Warner Losh [Tue, 13 Oct 2020 18:12:46 +0000 (12:12 -0600)]
aarch64: use __ARM_NEON instead of __aarch64__ to control use of neon
There are compilation environments in aarch64 where NEON isn't
available. While these environments could define ZSTD_NO_INTRINSICS,
it's more fail-safe to use the more specific symbol to know if NEON
extensions are available.
__ARM_NEON is the proper symbol, defined in ARM C Language Extensions
Release 2.1 (https://developer.arm.com/documentation/ihi0053/d/). Some
sources suggest __ARM_NEON__, but that's the obsolete spelling from
prior versions of the standard.
Signed-off-by: Warner Losh <imp@bsdimp.com>
senhuang42 [Tue, 13 Oct 2020 17:00:27 +0000 (13:00 -0400)]
Fix incorrect usage of cycleLog() in --patch-from
Nick Terrell [Tue, 13 Oct 2020 01:42:24 +0000 (18:42 -0700)]
Merge pull request #2337 from terrelln/adjust-params
Fix ZSTD_adjustCParams_internal() to handle dictionary logic
Nick Terrell [Mon, 12 Oct 2020 19:52:42 +0000 (12:52 -0700)]
[minor] Improve docs and add an assert in response to review
senhuang42 [Mon, 12 Oct 2020 16:20:18 +0000 (12:20 -0400)]
Use cycleLog instead of chainLog to determine LDM jobLog
Nick Terrell [Thu, 1 Oct 2020 20:12:23 +0000 (13:12 -0700)]
Fix ZSTD_adjustCParams_internal() to handle dictionary logic
Pass in the `ZSTD_cParamMode_e` to select how we define our cparams.
Based on the mode we either take the `dictSize` into account or we set
it to `0`. See the documentation for `ZSTD_cParamMode_e`.
Some of the modes currently share the same behavior. But they have
distinct modes because they are drastically different cases. E.g.
compression + reprocessing the dictionary and creating a cdict.
Additionally, when downsizing the hashLog and chainLog take the
(adjusted) dictionary size into account, since the size of the
dictionary gets added onto the window size.
Adds a simple test to ensure that we aren't downsizing too far.
Nick Terrell [Mon, 5 Oct 2020 22:38:10 +0000 (15:38 -0700)]
[minor improvement] Pass 0 as the content size in the DDS
The DDS structure can't be copied into the working tables like the DMS.
So it doesn't need to account for the source size when sizing its
parameters, just the dictionary size.
Nick Terrell [Mon, 5 Oct 2020 22:49:55 +0000 (15:49 -0700)]
[minor improvement] Pass dictSize when selecting parameters
When selecting parameters in streaming compression with a dictionary use
the dictionary size to select the parameters.
Nick Terrell [Mon, 5 Oct 2020 22:46:50 +0000 (15:46 -0700)]
[refactor] Remove ZSTD_resetCStream_internal()
This function is only called in one place. It isn't a logical separation
of duties, and it was only obsfucating the code now, so inline it.
Nick Terrell [Mon, 5 Oct 2020 22:17:44 +0000 (15:17 -0700)]
[bug] Fix dictContentType when reprocessing cdict
Conditions to trigger:
* CDict is loaded as raw content.
* CDict starts with the zstd dictionary magic number.
* The CDict is reprocessed (not attached or copied).
* The new API is used (streaming or `ZSTD_compress2()`).
Bug: The dictionary is loaded as a zstd dictionary, not a raw content
dictionary, because the dict content type is set to `ZSTD_dct_auto`.
Fix: Pass in the dictionary content type from cdict creation to the call
to `ZSTD_compress_insertDictionary()`.
Test: Added a test case that exposes the bug, and fixed the raw
content tests to not modify the `dictBuffer`, which makes all future
tests with the `dictBuffer` raw content, which doesn't seem intentional.
senhuang42 [Thu, 8 Oct 2020 03:44:36 +0000 (23:44 -0400)]
Require LDM matches to be strictly greater in length
Like Ma [Tue, 25 Aug 2020 19:10:06 +0000 (03:10 +0800)]
Fix building on AIX 5.1
Yann Collet [Fri, 9 Oct 2020 08:01:36 +0000 (01:01 -0700)]
Merge pull request #2329 from senhuang42/prevent_summary_updates_when_using_stdout
Prevent summary updates when using stdout
Yann Collet [Fri, 9 Oct 2020 08:00:50 +0000 (01:00 -0700)]
Merge pull request #2328 from marxin/zstd-pool-api
Allow external creation of POOLs that can be shared.
Yann Collet [Fri, 9 Oct 2020 07:48:30 +0000 (00:48 -0700)]
Merge pull request #2303 from senhuang42/let_cdict_take_clevel_priority
For ZSTD_compressStream2(), let cdict take compression level priority
Yann Collet [Fri, 9 Oct 2020 07:40:59 +0000 (00:40 -0700)]
Merge pull request #2319 from facebook/fullbench_stream2
update fullbench for compressStream2()
senhuang42 [Wed, 7 Oct 2020 20:59:25 +0000 (16:59 -0400)]
Define kNullRawSeqStore for every file
senhuang42 [Tue, 6 Oct 2020 23:43:48 +0000 (19:43 -0400)]
Change matchState_t::ldmSeqStore to pointer
senhuang42 [Tue, 6 Oct 2020 20:16:41 +0000 (16:16 -0400)]
Move posInSequence correction to correct location
senhuang42 [Tue, 6 Oct 2020 17:44:44 +0000 (13:44 -0400)]
Replace offCode of largest match if ldm's offCode is superior
senhuang42 [Tue, 6 Oct 2020 17:43:13 +0000 (13:43 -0400)]
Refactor usage of ms->ldmSeqStore so that it is not modified during compressBlock(), and simplify skipRawSeqStoreBytes
senhuang42 [Mon, 5 Oct 2020 22:10:10 +0000 (18:10 -0400)]
Refactor separate ldm variables all into one struct
senhuang42 [Mon, 5 Oct 2020 14:50:49 +0000 (10:50 -0400)]
Use kNullRawSeqStore constant in zstdmt_compress.c
senhuang42 [Mon, 5 Oct 2020 01:48:39 +0000 (21:48 -0400)]
Remove bubbling down matches with longer offCode and same matchLen
senhuang42 [Mon, 5 Oct 2020 01:47:25 +0000 (21:47 -0400)]
Disable LDM minMatch adjustment when using opt parser
senhuang42 [Mon, 5 Oct 2020 01:46:47 +0000 (21:46 -0400)]
Enable inclusion of mid-flight LDMs in opt parser
senhuang42 [Fri, 2 Oct 2020 23:08:10 +0000 (19:08 -0400)]
Correct incorrect offcode calculation
senhuang42 [Fri, 2 Oct 2020 19:27:06 +0000 (15:27 -0400)]
Fix static analyze fuzzer.c error
senhuang42 [Fri, 2 Oct 2020 17:47:54 +0000 (13:47 -0400)]
Add explicit conversion of size_t to U32
senhuang42 [Fri, 2 Oct 2020 13:49:35 +0000 (09:49 -0400)]
Add cSize regression test to fuzzer.c
senhuang42 [Thu, 1 Oct 2020 20:14:41 +0000 (16:14 -0400)]
Prefix new static ldm helpers with ZSTD_opt
senhuang42 [Thu, 1 Oct 2020 16:07:18 +0000 (12:07 -0400)]
Add DEBUGLOG() calls in ldm helpers
senhuang42 [Thu, 1 Oct 2020 15:47:35 +0000 (11:47 -0400)]
Make function descriptions more accurate
senhuang42 [Thu, 1 Oct 2020 15:40:52 +0000 (11:40 -0400)]
Improve documentation of relevant structs
senhuang42 [Thu, 1 Oct 2020 15:35:48 +0000 (11:35 -0400)]
Correct matchLength calculation and remove unnecessary functions
senhuang42 [Thu, 1 Oct 2020 14:13:06 +0000 (10:13 -0400)]
Reset ldmSeqStore after initStats_ultra() pass for btultra2
senhuang42 [Thu, 1 Oct 2020 14:12:21 +0000 (10:12 -0400)]
Refactor existing functions to use posInSequence
senhuang42 [Wed, 30 Sep 2020 23:45:40 +0000 (19:45 -0400)]
Adjustments to ldm_calculateMatchRange() to calculate bounds correctly
senhuang42 [Wed, 30 Sep 2020 23:14:31 +0000 (19:14 -0400)]
Add ldm_calculateMatchRange() function
senhuang42 [Wed, 30 Sep 2020 21:20:47 +0000 (17:20 -0400)]
Remove rawSeqStore.base and add rawSeqStore.posInSequence
senhuang42 [Wed, 30 Sep 2020 17:25:02 +0000 (13:25 -0400)]
Add unit tests into playTests.sh
senhuang42 [Wed, 30 Sep 2020 16:54:45 +0000 (12:54 -0400)]
Prevent duplicate LDMs from being inserted
senhuang42 [Wed, 30 Sep 2020 15:25:51 +0000 (11:25 -0400)]
Add extra bounds check to prevent heap access after free ASAN error
senhuang42 [Wed, 30 Sep 2020 15:06:44 +0000 (11:06 -0400)]
Address mixed variables C90 warning
senhuang42 [Tue, 29 Sep 2020 22:12:32 +0000 (18:12 -0400)]
ldm_getNextMatch fixed return values
senhuang42 [Tue, 29 Sep 2020 20:35:06 +0000 (16:35 -0400)]
Cleanups, add comments and explanations
senhuang42 [Tue, 29 Sep 2020 19:35:13 +0000 (15:35 -0400)]
Fixed sifting algorithm
senhuang42 [Tue, 29 Sep 2020 16:12:58 +0000 (12:12 -0400)]
Fixed end of match boundary update issues
senhuang42 [Mon, 28 Sep 2020 21:58:23 +0000 (17:58 -0400)]
Add proper bounds check on adding ldms
senhuang42 [Mon, 28 Sep 2020 14:29:17 +0000 (10:29 -0400)]
Add a function ldm_voidSequences()
senhuang42 [Mon, 28 Sep 2020 00:06:44 +0000 (20:06 -0400)]
Fix function argument to getNextMatch()
senhuang42 [Mon, 28 Sep 2020 00:00:14 +0000 (20:00 -0400)]
Adjustments to no longer segfault on nci
senhuang42 [Sun, 27 Sep 2020 17:25:27 +0000 (13:25 -0400)]
Add base adjustment correction
senhuang42 [Sun, 27 Sep 2020 17:19:54 +0000 (13:19 -0400)]
Add initial getNextMatch() in opt parser
senhuang42 [Sun, 27 Sep 2020 17:02:46 +0000 (13:02 -0400)]
Added more debugging
senhuang42 [Sun, 27 Sep 2020 02:14:21 +0000 (22:14 -0400)]
Add re-copying of ldmSeqStore after processing
senhuang42 [Sun, 27 Sep 2020 01:56:14 +0000 (21:56 -0400)]
Add debug statements, flesh out functions
senhuang42 [Sun, 27 Sep 2020 01:38:35 +0000 (21:38 -0400)]
Get zstd to build with new functions and callsites, fix arguments
senhuang42 [Sat, 26 Sep 2020 16:28:10 +0000 (12:28 -0400)]
Implement part of ldm_maybeAddLdm()
senhuang42 [Sat, 26 Sep 2020 16:16:15 +0000 (12:16 -0400)]
Implement ldm_getNextMatch()
senhuang42 [Sat, 26 Sep 2020 16:09:19 +0000 (12:09 -0400)]
Implement basic splitSequence and skipSequence functions
senhuang42 [Sat, 26 Sep 2020 15:59:07 +0000 (11:59 -0400)]
Flesh out required args for ldm_handleLdm()
senhuang42 [Sat, 26 Sep 2020 15:24:29 +0000 (11:24 -0400)]
Add callsites to appropriate locations in ..opt_generic()
senhuang42 [Sat, 26 Sep 2020 15:22:50 +0000 (11:22 -0400)]
Add ldm helper function declarations into opt parser
senhuang42 [Sat, 26 Sep 2020 15:13:39 +0000 (11:13 -0400)]
Modify codepath to use opt parser exclusively if the compression level is high enough
senhuang42 [Sat, 26 Sep 2020 15:07:52 +0000 (11:07 -0400)]
Add rawSeqStore to match state
senhuang42 [Wed, 7 Oct 2020 17:47:38 +0000 (13:47 -0400)]
Add callsites to zstdcli.c and tests to playTests.sh
senhuang42 [Wed, 7 Oct 2020 17:44:25 +0000 (13:44 -0400)]
Add hasStdoutOutput setter to fileio.h
senhuang42 [Wed, 7 Oct 2020 17:43:27 +0000 (13:43 -0400)]
Fixed logic for stdout output
senhuang42 [Wed, 7 Oct 2020 17:42:34 +0000 (13:42 -0400)]
Add new stdoutOutput field
Martin Liska [Fri, 25 Sep 2020 12:12:14 +0000 (14:12 +0200)]
Allow external creation of POOLs that can be shared.
Yann Collet [Tue, 6 Oct 2020 22:58:37 +0000 (15:58 -0700)]
Merge pull request #2330 from senhuang42/fix_stdinout_error_messages
Improve error messages on console input/output
Nick Terrell [Fri, 2 Oct 2020 01:56:24 +0000 (18:56 -0700)]
Merge pull request #2338 from terrelln/comments
Add comments to ZSTD_getLowest{Match,Prefix}Index()
Nick Terrell [Fri, 2 Oct 2020 01:56:11 +0000 (18:56 -0700)]
Merge pull request #2333 from terrelln/stable-dst
Reset all decompression parameters in ZSTD_DCtx_reset()
Nick Terrell [Tue, 29 Sep 2020 23:25:03 +0000 (16:25 -0700)]
Reset all decompression parameters in ZSTD_DCtx_reset()
* Reset all decompression parameters in `ZSTD_DCtx_reset()` when
resetting parameters.
* Add a test case.
Nick Terrell [Thu, 1 Oct 2020 20:21:46 +0000 (13:21 -0700)]
Add comments to ZSTD_getLowest{Match,Prefix}Index()
Clarify how we handle dictionaries in each case.
Yann Collet [Wed, 30 Sep 2020 15:27:53 +0000 (08:27 -0700)]
Merge pull request #2317 from animalize/msvc_inline
Let MSVC force inline ZSTD_hashPtr() function
Yann Collet [Wed, 30 Sep 2020 15:27:21 +0000 (08:27 -0700)]
Merge pull request #2321 from senhuang42/disallow_repcode_0_in_dict
Update documentation about repcodes in dictionaries
Yann Collet [Wed, 30 Sep 2020 15:26:50 +0000 (08:26 -0700)]
Merge pull request #2322 from senhuang42/guard_against_stdin_for_warning_prompts
Don't let warning messages consume input from stdin
Nick Terrell [Tue, 29 Sep 2020 20:51:23 +0000 (13:51 -0700)]
Merge pull request #2326 from terrelln/kernel-test-fix
Fix issues and warnings exposed by Kernel Test Robot
senhuang42 [Mon, 28 Sep 2020 16:15:18 +0000 (12:15 -0400)]
Modify error messages on console input/output
senhuang42 [Fri, 25 Sep 2020 15:51:35 +0000 (11:51 -0400)]
Fix Stdin typo
Yann Collet [Fri, 25 Sep 2020 14:48:33 +0000 (07:48 -0700)]
Merge pull request #2310 from senhuang42/fix_multifile_status_bar
Fix multifile status bar and summary - clear out extraneous characters
Nick Terrell [Fri, 25 Sep 2020 01:04:44 +0000 (18:04 -0700)]
[superblock] Reduce stack usage by correctly sizing header buffers
Nick Terrell [Fri, 25 Sep 2020 00:52:16 +0000 (17:52 -0700)]
[lib] Add ZSTD_COMPRESS_HEAPMODE tuning parameter
Nick Terrell [Thu, 24 Sep 2020 23:25:58 +0000 (16:25 -0700)]
[freestanding] Improve macro resolution to handle #if X
Nick Terrell [Thu, 24 Sep 2020 23:04:21 +0000 (16:04 -0700)]
Allow user to override ASAN/MSAN detection
Rename ADDRESS_SANITIZER -> ZSTD_ADDRESS_SANITIZER and same for
MEMORY_SANITIZER. Also set it to 0/1 instead of checking for defined.
This allows the user to override ASAN/MSAN detection for platforms that
don't support it.
Nick Terrell [Thu, 24 Sep 2020 23:03:28 +0000 (16:03 -0700)]
Remove call to memset
The previous commit fixes the test so it errors on calls to mem*()
functions from <string.h>.
Nick Terrell [Thu, 24 Sep 2020 22:22:34 +0000 (15:22 -0700)]
[linux-kernel] Avoid including <string.h> in the tests
Nick Terrell [Thu, 24 Sep 2020 21:22:56 +0000 (14:22 -0700)]
Reorganize zstd_deps.h and mem.h + replace mem.h for the kernel
Nick Terrell [Thu, 24 Sep 2020 22:45:08 +0000 (15:45 -0700)]
Move __has_builtin() fallback define to compiler.h
Nick Terrell [Thu, 24 Sep 2020 21:14:32 +0000 (14:14 -0700)]
Move ASAN/MSAN support declarations to compiler.h
Nick Terrell [Thu, 24 Sep 2020 21:13:16 +0000 (14:13 -0700)]
Remove MEM_STATIC_ASSERT and use DEBUG_STATIC_ASSERT instead
senhuang42 [Thu, 24 Sep 2020 20:44:33 +0000 (16:44 -0400)]
Update unit tests
senhuang42 [Thu, 24 Sep 2020 20:29:12 +0000 (16:29 -0400)]
Add more useful failure message when stdin is an input