]>
git.ipfire.org Git - thirdparty/zstd.git/log
cyan4973 [Tue, 26 Jun 2018 08:22:45 +0000 (01:22 -0700)]
minor fixes for MSYS2 compilation
Nick Terrell [Mon, 25 Jun 2018 22:21:08 +0000 (15:21 -0700)]
[zstdmt] Fix jobsize bugs (#1205)
[zstdmt] Fix jobsize bugs
* `ZSTDMT_serialState_reset()` should use `targetSectionSize`, not `jobSize` when sizing the seqstore.
Add an assert that checks that we sized the seqstore using the right job size.
* `ZSTDMT_compressionJob()` should check if `rawSeqStore.seq == NULL`.
* `ZSTDMT_initCStream_internal()` should not adjust `mtctx->params.jobSize` (clamping to MIN/MAX is okay).
Yann Collet [Mon, 25 Jun 2018 19:42:31 +0000 (12:42 -0700)]
Merge pull request #1200 from felixhandte/zstd-attach-dict-pref
Add CCtx Param Controlling Dict Attachment Behavior
Yann Collet [Sat, 23 Jun 2018 03:25:29 +0000 (20:25 -0700)]
Merge pull request #1204 from facebook/noForwardProgress
Error code on no forward progress
Yann Collet [Sat, 23 Jun 2018 00:58:21 +0000 (17:58 -0700)]
error on no forward progress
streaming decoders, such as ZSTD_decompressStream() or ZSTD_decompress_generic(),
may end up making no forward progress,
(aka no byte read from input __and__ no byte written to output),
due to unusual parameters conditions,
such as providing an output buffer already full.
In such case, the caller may be caught in an infinite loop,
calling the streaming decompression function again and again,
without making any progress.
This version detects such situation, and generates an error instead :
ZSTD_error_dstSize_tooSmall when output buffer is full,
ZSTD_error_srcSize_wrong when input buffer is empty.
The detection tolerates a number of attempts before triggering an error,
controlled by ZSTD_NO_FORWARD_PROGRESS_MAX macro constant,
which is set to 16 by default, and can be re-defined at compilation time.
This behavior tolerates potentially existing implementations
where such cases happen sporadically, like once or twice,
which is not dangerous (only infinite loops are),
without generating an error, hence without breaking these implementations.
Yann Collet [Fri, 22 Jun 2018 21:20:07 +0000 (14:20 -0700)]
Merge pull request #1197 from facebook/poolResize
Thread Pool resize
Yann Collet [Fri, 22 Jun 2018 19:14:59 +0000 (12:14 -0700)]
changed POOL_resize() return type to int
return is now just en error code.
This guarantee that `ctx` remains valid after POOL_resize().
Gets rid of internal POOL_free() operation.
Yann Collet [Fri, 22 Jun 2018 18:53:50 +0000 (11:53 -0700)]
Merge pull request #1201 from facebook/rfcUpdate
updated Zstandard frame format
Yann Collet [Fri, 22 Jun 2018 18:53:23 +0000 (11:53 -0700)]
Merge pull request #1196 from felixhandte/zstd-btopt-in-place-dict
ZSTD_btopt: Support Searching the Dictionary Context In-Place
Yann Collet [Fri, 22 Jun 2018 18:52:52 +0000 (11:52 -0700)]
Merge pull request #1202 from facebook/barelyCompressible
Increase threshold detection of poorly compressible data
Yann Collet [Fri, 22 Jun 2018 01:32:38 +0000 (18:32 -0700)]
huf: increase threshold detection of poorly compressible data
Yann Collet [Fri, 22 Jun 2018 01:08:11 +0000 (18:08 -0700)]
fixed minor typos, detected by @terrelln
Yann Collet [Fri, 22 Jun 2018 01:04:58 +0000 (18:04 -0700)]
add a cond_broadcast after resize
to make sure all threads (notably newly available threads)
get awaken to immediately process potential items in the queue.
Yann Collet [Fri, 22 Jun 2018 00:48:34 +0000 (17:48 -0700)]
updated Zstandard frame format
adding clarifications from IETF RFC DISCUSS.
Yann Collet [Thu, 21 Jun 2018 21:58:59 +0000 (14:58 -0700)]
added extended POOL test
abrupt end + downsizing with running jobs remaining in queue.
also : POOL_resize() requires numThreads >= 1
W. Felix Handte [Thu, 21 Jun 2018 21:02:50 +0000 (17:02 -0400)]
Add CCtx Param Controlling Dict Attachment Behavior
W. Felix Handte [Thu, 21 Jun 2018 19:25:32 +0000 (15:25 -0400)]
Add Repcode Bounds Check
W. Felix Handte [Thu, 21 Jun 2018 19:25:44 +0000 (15:25 -0400)]
Add Debug Log Statement
W. Felix Handte [Thu, 21 Jun 2018 19:24:08 +0000 (15:24 -0400)]
Fix `dmsBtLow` Test
Yann Collet [Thu, 21 Jun 2018 19:24:36 +0000 (12:24 -0700)]
added a test for POOL (multithreading)
ensuring all jobs in queue are nonetheless completed
when POOL is instructed to end abruptly (POOL_free())
W. Felix Handte [Thu, 21 Jun 2018 15:20:01 +0000 (11:20 -0400)]
Conceivably Dedup ZSTD_noDict and ZSTD_dictMatchState _insertBt1 Impls
By reverting to the bool extDict flag, we call ZSTD_insertBt1 with the same
const args in both non-extDict dictModes.
Yann Collet [Thu, 21 Jun 2018 00:18:57 +0000 (17:18 -0700)]
fixed: bug when counting nb of active threads
when queueSize > 1
also : added a test in testpool.c
verifying resizing is effective.
Yann Collet [Wed, 20 Jun 2018 21:35:39 +0000 (14:35 -0700)]
change control of threadLimit
now limits maximum nb of active threads
even when queueSize > 1.
W. Felix Handte [Wed, 20 Jun 2018 20:54:53 +0000 (16:54 -0400)]
Consistency in Guarding DMS-Only Variable Initializations
W. Felix Handte [Wed, 20 Jun 2018 19:51:14 +0000 (15:51 -0400)]
Also Use `matchLow` for HC3 Match
W. Felix Handte [Wed, 20 Jun 2018 19:27:23 +0000 (15:27 -0400)]
Minor Changes
W. Felix Handte [Wed, 20 Jun 2018 02:18:08 +0000 (22:18 -0400)]
Remove Dead(!) HC3 DMS Lookup
Yann Collet [Wed, 20 Jun 2018 19:26:31 +0000 (12:26 -0700)]
Merge pull request #1198 from facebook/msdebug
made Visual Studio compatible with DEBUGLEVEL >= 2
cyan4973 [Wed, 20 Jun 2018 16:45:02 +0000 (09:45 -0700)]
made Visual Studio compatible with DEBUGLEVEL >= 2
Yann Collet [Wed, 20 Jun 2018 03:14:03 +0000 (20:14 -0700)]
fixed wrong size in pthread struct transfer
Yann Collet [Wed, 20 Jun 2018 01:07:18 +0000 (18:07 -0700)]
reduced POOL_resize() restriction
It's not necessary to ensure that no job is ongoing.
The pool is only expanded, existing threads are preserved.
In case of error, the only option is to return NULL and terminate the thread pool anyway.
Yann Collet [Wed, 20 Jun 2018 00:28:56 +0000 (17:28 -0700)]
make zstdmt resize its context
when nbThreads change.
Technically, it only expands.
But when instructed to use less threads,
the thread pool will limit nb of concurrent threads.
Yann Collet [Tue, 19 Jun 2018 23:03:12 +0000 (16:03 -0700)]
finalized POOL_resize()
POOL_ctx* POOL_resize(POOL_ctx* ctx, size_t numThreads)
The function may fail, and returns a NULL pointer in this case.
Yann Collet [Tue, 19 Jun 2018 21:40:56 +0000 (14:40 -0700)]
Merge pull request #1190 from terrelln/ldm-adjust
Adjust advanced parameters to source size
Yann Collet [Tue, 19 Jun 2018 21:36:30 +0000 (14:36 -0700)]
Merge pull request #1179 from supertopher/dev
Improves UX for --list command's lack of support for pipes
W. Felix Handte [Tue, 19 Jun 2018 19:36:33 +0000 (15:36 -0400)]
Fix Incorrect Param
W. Felix Handte [Tue, 19 Jun 2018 19:13:30 +0000 (15:13 -0400)]
Update Dict Attachment Cut-Offs
W. Felix Handte [Fri, 15 Jun 2018 18:08:58 +0000 (14:08 -0400)]
Make Sure Position 0 Gets Into the Tree
Yann Collet [Tue, 19 Jun 2018 17:24:26 +0000 (10:24 -0700)]
Merge pull request #1194 from facebook/no-opaqueapi
removed specific --opaqueapi test
W. Felix Handte [Fri, 15 Jun 2018 00:59:29 +0000 (20:59 -0400)]
Fix Compression Ratio Regression #1
W. Felix Handte [Thu, 14 Jun 2018 20:59:49 +0000 (16:59 -0400)]
Misc Changes
W. Felix Handte [Thu, 14 Jun 2018 19:54:03 +0000 (15:54 -0400)]
Find Proper Matches
W. Felix Handte [Thu, 14 Jun 2018 19:53:46 +0000 (15:53 -0400)]
Misc Fixes
W. Felix Handte [Thu, 14 Jun 2018 18:53:04 +0000 (14:53 -0400)]
Find `mls == 3` Matches
W. Felix Handte [Thu, 14 Jun 2018 18:52:46 +0000 (14:52 -0400)]
Fix Typo
W. Felix Handte [Thu, 14 Jun 2018 17:33:59 +0000 (13:33 -0400)]
Switch `!= ZSTD_extDict` to `== ZSTD_noDict`
W. Felix Handte [Thu, 14 Jun 2018 17:23:17 +0000 (13:23 -0400)]
Implement RepCode Check
W. Felix Handte [Wed, 13 Jun 2018 21:10:37 +0000 (17:10 -0400)]
Add _dictMatchState Functions
W. Felix Handte [Wed, 13 Jun 2018 21:10:02 +0000 (17:10 -0400)]
Convert `extDict` Flag to `dictMode` Enum
W. Felix Handte [Wed, 13 Jun 2018 20:54:31 +0000 (16:54 -0400)]
Attach Dicts when Using ZSTD_btopt and ZSTD_btultra
Topher Lubaway [Tue, 19 Jun 2018 16:56:37 +0000 (09:56 -0700)]
Tests to verify piped input to `--list` exits 1
I'm following the pattern that i saw in the rest of the test file
please tell me if i am using the wrong conventions
Yann Collet [Tue, 19 Jun 2018 03:46:39 +0000 (20:46 -0700)]
introduced POOL_resize()
not complete yet :
finalize behavior in case of unfinished expansion
Yann Collet [Tue, 19 Jun 2018 02:20:37 +0000 (19:20 -0700)]
removed specific --opaqueapi test
from zstreamtest.
This test is now integrated within --newapi,
which dynamically switches between the 2 modes randomly.
The main outcome is reduced testing time.
Nick Terrell [Fri, 15 Jun 2018 14:36:54 +0000 (07:36 -0700)]
Use debug.h in fileio.c
Nick Terrell [Thu, 14 Jun 2018 23:24:18 +0000 (16:24 -0700)]
Adjust advanced parameters to source size
In the new advanced API, adjust the parameters even if they are explicitly
set. This mainly applies to the `windowLog`, and accordingly the `hashLog`
and `chainLog`, when the source size is known.
Yann Collet [Mon, 18 Jun 2018 20:29:44 +0000 (13:29 -0700)]
Merge pull request #1185 from felixhandte/zstd-btlazy-in-place-dict
ZSTD_btlazy2: Support Searching the Dictionary Context In-Place
Yann Collet [Fri, 15 Jun 2018 15:25:08 +0000 (11:25 -0400)]
Merge pull request #1191 from facebook/huf_rename
Rename huffman decompression functions
Yann Collet [Fri, 15 Jun 2018 00:42:10 +0000 (20:42 -0400)]
Merge branch 'dev' into huf_rename
Yann Collet [Fri, 15 Jun 2018 00:41:50 +0000 (20:41 -0400)]
grouped X2 function together
Yann Collet [Fri, 15 Jun 2018 00:39:52 +0000 (20:39 -0400)]
Merge pull request #1189 from facebook/hist
histogram module
Yann Collet [Thu, 14 Jun 2018 23:48:40 +0000 (19:48 -0400)]
added debug.h for cmake
Yann Collet [Thu, 14 Jun 2018 23:47:05 +0000 (19:47 -0400)]
avoid duplicate code comments
when a function is decribed in hist.h,
do not describe it again in hist.c
to avoid future doc synchronization issues.
Yann Collet [Thu, 14 Jun 2018 19:51:31 +0000 (15:51 -0400)]
Visual Studio project blind fix
Yann Collet [Thu, 14 Jun 2018 20:22:22 +0000 (16:22 -0400)]
Merge pull request #1187 from facebook/fix1186
fix dctx initialization within ZSTD_decompress in stack mode
Yann Collet [Thu, 14 Jun 2018 20:21:53 +0000 (16:21 -0400)]
Merge pull request #1184 from facebook/debug
Grouped debug functions into debug.h
Ryan Schmidt [Thu, 14 Jun 2018 20:05:33 +0000 (15:05 -0500)]
Add CXXFLAGS to ALL_LDFLAGS (#1178)
pzstd requires C++11, which older C++ standard libraries like libstdc++
as used on OS X 10.8 and earlier don't support. The user might address
this by setting "CXXFLAGS=-stdlib=libc++". This flag must be used both
at compile time and at link time. Asking the user to also put the flag
in LDFLAGS is undesirable because then the flag would also be used when
linking C code, which would be inappropriate.
Yann Collet [Thu, 14 Jun 2018 19:17:03 +0000 (15:17 -0400)]
renamed all HUF_decompress*X4*() functions into *X2
to underline they generate up to 2 symbols per decoding,
in preparation for a future *X3 variant.
Yann Collet [Thu, 14 Jun 2018 19:08:43 +0000 (15:08 -0400)]
renamed all HUF_decompress*X2*() functions into *X1
to underline they generate one symbol per decoding operation.
The new naming scheme will make it easier to introduce an *X3 variant.
W. Felix Handte [Thu, 14 Jun 2018 18:53:36 +0000 (14:53 -0400)]
Force Inline BtFindBestMatch
Yann Collet [Thu, 14 Jun 2018 14:22:24 +0000 (10:22 -0400)]
fix dctx initialization within ZSTD_decompress in stack mode
when ZSTD_HEAPMODE=0 (which is not default).
Also : added an associated test (test-fuzzer-stackmode)
run on travis CI
fix #1186
Yann Collet [Thu, 14 Jun 2018 00:02:33 +0000 (20:02 -0400)]
fixed g_debuglevel variable name
in debug.h
Yann Collet [Wed, 13 Jun 2018 23:49:31 +0000 (19:49 -0400)]
grouped all histogram functions into hist.c
renamed functions with HIST_* prefix
Topher Lubaway [Wed, 13 Jun 2018 21:32:59 +0000 (14:32 -0700)]
Reduce noise in diff
putting the code block back on the exact line it came from
Topher Lubaway [Wed, 13 Jun 2018 20:39:23 +0000 (13:39 -0700)]
Removes duplicate IS_CONSOLE from PR
I misunderstood that this function was included already
W. Felix Handte [Tue, 12 Jun 2018 22:38:10 +0000 (18:38 -0400)]
Search Dict for Matches
W. Felix Handte [Tue, 12 Jun 2018 22:32:57 +0000 (18:32 -0400)]
Attach Dicts when Using ZSTD_btlazy2
Yann Collet [Wed, 13 Jun 2018 20:05:41 +0000 (16:05 -0400)]
Merge pull request #1169 from felixhandte/zstd-lazy-in-place-dict
ZSTD_lazy: Support Searching the Dictionary Context In-Place
Yann Collet [Wed, 13 Jun 2018 18:59:26 +0000 (14:59 -0400)]
grouped debug functions into debug.h
There were 2 competing set of debug functions
within zstd_internal.h and bitstream.h.
They were mostly duplicate, and required care to avoid messing with each other.
There is now a single implementation, shared by both.
Significant change :
The macro variable ZSTD_DEBUG does no longer exist,
it has been replaced by DEBUGLEVEL,
which required modifying several source files.
W. Felix Handte [Sat, 9 Jun 2018 21:19:04 +0000 (17:19 -0400)]
Fix Cast Warning
W. Felix Handte [Fri, 8 Jun 2018 19:06:47 +0000 (15:06 -0400)]
Extend Dictionary Matches Backwards
W. Felix Handte [Thu, 7 Jun 2018 20:57:45 +0000 (16:57 -0400)]
Update Dictionary Attachment Cutoff Values Again
W. Felix Handte [Thu, 7 Jun 2018 20:55:13 +0000 (16:55 -0400)]
Do Not Inline DMS Search Function
W. Felix Handte [Wed, 6 Jun 2018 23:54:13 +0000 (19:54 -0400)]
Also Implement Depth Repcode Checks
W. Felix Handte [Wed, 6 Jun 2018 21:34:29 +0000 (17:34 -0400)]
Apply Match Continuation Bug Fix
W. Felix Handte [Thu, 31 May 2018 22:32:41 +0000 (18:32 -0400)]
Update Dictionary Attachment Cutoff Values
W. Felix Handte [Tue, 29 May 2018 20:26:23 +0000 (16:26 -0400)]
Check Dict Match State in ZSTD_HcFindBestMatch_generic
W. Felix Handte [Tue, 29 May 2018 20:06:23 +0000 (16:06 -0400)]
Focus on Non-BT Impls for the Moment
W. Felix Handte [Tue, 29 May 2018 20:05:48 +0000 (16:05 -0400)]
Remove Pre-Existing Repcode Check
W. Felix Handte [Wed, 23 May 2018 19:49:43 +0000 (15:49 -0400)]
Second Repcode Check
W. Felix Handte [Wed, 23 May 2018 19:06:24 +0000 (15:06 -0400)]
First Repcode Check
W. Felix Handte [Wed, 23 May 2018 18:13:16 +0000 (14:13 -0400)]
Disallow Too-Long Repcodes When Using an Attached Dict
W. Felix Handte [Wed, 23 May 2018 19:10:18 +0000 (15:10 -0400)]
Rename `base` -> `prefixLowest`
W. Felix Handte [Fri, 1 Jun 2018 18:23:14 +0000 (14:23 -0400)]
Go Back to Separate Intermediate Functions for Different Dict Modes
W. Felix Handte [Wed, 16 May 2018 08:32:21 +0000 (04:32 -0400)]
Further Templatize Intermediate Functions on dictMode
W. Felix Handte [Wed, 16 May 2018 08:07:09 +0000 (04:07 -0400)]
Convert Existing U32 extDict Vars to ZSTD_dictMode Enums
W. Felix Handte [Wed, 16 May 2018 06:31:30 +0000 (02:31 -0400)]
Attach Dict When Using ZSTD_lazy Strategies
W. Felix Handte [Wed, 16 May 2018 06:30:20 +0000 (02:30 -0400)]
Add _dictMatchState Stubs for ZSTD_lazy Functions
W. Felix Handte [Wed, 16 May 2018 06:26:07 +0000 (02:26 -0400)]
Add dictMode Param to ZSTD_compressBlock_lazy_generic
Yann Collet [Wed, 13 Jun 2018 15:38:29 +0000 (11:38 -0400)]
Merge pull request #1168 from GeorgeLu97/paramgrillfeatures
Have paramgrill share bench.c benchmarking function
Yann Collet [Wed, 13 Jun 2018 15:32:06 +0000 (11:32 -0400)]
Merge pull request #1175 from ryandesign/macos
Fix name of macOS