]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
8 years ago--no-big-tests for msan 725/head
Yann Collet [Fri, 23 Jun 2017 07:37:15 +0000 (00:37 -0700)] 
--no-big-tests for msan

msan tests require too much RAM for 2 GB VM

8 years agoMerge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2
Yann Collet [Fri, 23 Jun 2017 07:13:03 +0000 (00:13 -0700)] 
Merge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2

8 years agozstreamtest : disabled multi-threading tests with --newapi --no-big-tests
Yann Collet [Fri, 23 Jun 2017 07:09:02 +0000 (00:09 -0700)] 
zstreamtest : disabled multi-threading tests with --newapi --no-big-tests

--no-big-tests is typically used in combination with qemu-user-static
qemu-user-static allocated 4 GB of RAM upfront.
On 2 GB VM, this can degenerate into a crash.
It's not a problem as long as memory is not used.
But with multi-threading enabled, memory fragmentation kicks in,
so the amoung of RAM effectively touched increases,
and can pass beyond the 2 GB limit of the VM.

In single-threaded mode, there is no such issue :
memory requirement is smaller, and remains well-located,
so very little fragmentation is expected.

This modification should make `qemu-arm-static zstreamtests --newapi --no-big-tests`
work fine on Travis CI.

8 years agoreduced --no-big-tests even more
Yann Collet [Thu, 22 Jun 2017 06:35:58 +0000 (23:35 -0700)] 
reduced --no-big-tests even more

to pass tests on qemu-aarch64

8 years agofixed minor cast warning
Yann Collet [Thu, 22 Jun 2017 01:43:39 +0000 (18:43 -0700)] 
fixed minor cast warning

8 years agoreduced CLevelMax for --no-big-tests
Yann Collet [Thu, 22 Jun 2017 01:20:02 +0000 (18:20 -0700)] 
reduced CLevelMax for --no-big-tests

8 years ago--no-big-tests for zstreamtest
Yann Collet [Thu, 22 Jun 2017 00:57:14 +0000 (17:57 -0700)] 
--no-big-tests for zstreamtest

Apply --no-big-tests for tsan tests

8 years agoadd controls over streaming buffers
Yann Collet [Thu, 22 Jun 2017 00:25:01 +0000 (17:25 -0700)] 
add controls over streaming buffers

8 years agoadded --list command contrib by @paulcruz74
Yann Collet [Wed, 21 Jun 2017 22:58:36 +0000 (15:58 -0700)] 
added --list command contrib by @paulcruz74

8 years agofixed : decompression of skippable frames in streaming mode
Yann Collet [Wed, 21 Jun 2017 22:53:42 +0000 (15:53 -0700)] 
fixed : decompression of skippable frames in streaming mode

8 years agoswitched fileio.c to ZSTD_DEBUG trigger macro
Yann Collet [Wed, 21 Jun 2017 22:16:13 +0000 (15:16 -0700)] 
switched fileio.c to ZSTD_DEBUG trigger macro

8 years agofixed streaming buffered allocation with CDict compression
Yann Collet [Wed, 21 Jun 2017 22:13:00 +0000 (15:13 -0700)] 
fixed streaming buffered allocation with CDict compression

8 years agofixed dangling pointer risk, detected by @terrelln
Yann Collet [Wed, 21 Jun 2017 20:26:10 +0000 (13:26 -0700)] 
fixed dangling pointer risk, detected by @terrelln

8 years agofree cdictLocal faster, suggested by @terrelln
Yann Collet [Wed, 21 Jun 2017 19:26:40 +0000 (12:26 -0700)] 
free cdictLocal faster, suggested by @terrelln

8 years agoadded ZSTD_dictMode_e to control dictionary loading mode
Yann Collet [Wed, 21 Jun 2017 18:50:33 +0000 (11:50 -0700)] 
added ZSTD_dictMode_e to control dictionary loading mode

8 years agofixed memcpy() overlap
Yann Collet [Wed, 21 Jun 2017 00:44:55 +0000 (17:44 -0700)] 
fixed memcpy() overlap

8 years agoremoved one useless streaming compression stage, detected by @terrelln
Yann Collet [Tue, 20 Jun 2017 23:25:29 +0000 (16:25 -0700)] 
removed one useless streaming compression stage, detected by @terrelln

8 years agofixed potential dangling pointer, detected by @terrelln
Yann Collet [Tue, 20 Jun 2017 23:09:11 +0000 (16:09 -0700)] 
fixed potential dangling pointer, detected by @terrelln

8 years agofixed comments, following suggestion by @terrelln
Yann Collet [Tue, 20 Jun 2017 21:26:48 +0000 (14:26 -0700)] 
fixed comments, following suggestion by @terrelln

8 years agoensure new ZSTD_strategy starts at value 1
Yann Collet [Tue, 20 Jun 2017 21:11:49 +0000 (14:11 -0700)] 
ensure new ZSTD_strategy starts at value 1

8 years agofixed fuzzer test
Yann Collet [Tue, 20 Jun 2017 19:17:32 +0000 (12:17 -0700)] 
fixed fuzzer test

8 years agofirst implementation of bench.c with new API ZSTD_compress_generic()
Yann Collet [Tue, 20 Jun 2017 01:25:35 +0000 (18:25 -0700)] 
first implementation of bench.c with new API ZSTD_compress_generic()

Doesn't speed optimize this buffer-to-buffer scenario yet.
Still internally defers to streaming implementation.

Also : fixed a long standing bug in ZSTDMT streaming API.

8 years agofix attempt : fullbench VS2008 project
Yann Collet [Tue, 20 Jun 2017 00:45:43 +0000 (17:45 -0700)] 
fix attempt : fullbench VS2008 project

8 years agofixed IA64 compilation error, by @mcmilk
Yann Collet [Mon, 19 Jun 2017 22:27:30 +0000 (15:27 -0700)] 
fixed IA64 compilation error, by @mcmilk

8 years agofix attempts : fullbench for VS2008
Yann Collet [Mon, 19 Jun 2017 22:23:19 +0000 (15:23 -0700)] 
fix attempts : fullbench for VS2008

8 years agoupdate new api presentation in zstd.h and manual
Yann Collet [Mon, 19 Jun 2017 19:56:25 +0000 (12:56 -0700)] 
update new api presentation in zstd.h and manual

8 years agoupdated manual
Yann Collet [Mon, 19 Jun 2017 19:03:25 +0000 (12:03 -0700)] 
updated manual

8 years agominor declaration statement warning fix
Yann Collet [Mon, 19 Jun 2017 18:53:42 +0000 (11:53 -0700)] 
minor declaration statement warning fix

8 years agonew api : setting compression parameters is refused if a dictionary is already loaded
Yann Collet [Mon, 19 Jun 2017 18:53:01 +0000 (11:53 -0700)] 
new api : setting compression parameters is refused if a dictionary is already loaded

8 years agonewapi fuzzer tests : random flush orders in main loop
Yann Collet [Mon, 19 Jun 2017 18:07:33 +0000 (11:07 -0700)] 
newapi fuzzer tests : random flush orders in main loop

8 years agonew api fuzzer tests : frame parameters are randonly set
Yann Collet [Mon, 19 Jun 2017 06:41:38 +0000 (23:41 -0700)] 
new api fuzzer tests : frame parameters are randonly set

8 years agonew api fuzzer set : dictionary is randomly set
Yann Collet [Mon, 19 Jun 2017 06:31:55 +0000 (23:31 -0700)] 
new api fuzzer set : dictionary is randomly set

8 years agonew api fuzzer tests : compression parameters are randomly set
Yann Collet [Mon, 19 Jun 2017 06:25:15 +0000 (23:25 -0700)] 
new api fuzzer tests : compression parameters are randomly set

8 years agoremoved macro CLAMP from decodecorpus
Yann Collet [Sat, 17 Jun 2017 01:16:27 +0000 (18:16 -0700)] 
removed macro CLAMP from decodecorpus

never used,
and would duplicate with CLAMP from zstd_compress.c

8 years agofuzzer tests for new API
Yann Collet [Sat, 17 Jun 2017 00:56:41 +0000 (17:56 -0700)] 
fuzzer tests for new API

8 years agoadded ZSTD_clampCParams()
Yann Collet [Sat, 17 Jun 2017 00:29:35 +0000 (17:29 -0700)] 
added ZSTD_clampCParams()

now ZSTD_adjustCParams() is always successful,
it always produces a valid CParams

8 years agofixed +/-1 error for pledgedSrcSizePlusOne
Yann Collet [Sat, 17 Jun 2017 00:01:46 +0000 (17:01 -0700)] 
fixed +/-1 error for pledgedSrcSizePlusOne

8 years agofix attempt 2 : Visual sign conversion warning
Yann Collet [Fri, 16 Jun 2017 23:51:33 +0000 (16:51 -0700)] 
fix attempt 2 : Visual sign conversion warning

8 years agofixed attempt : minor Visual sign conversion warning
Yann Collet [Fri, 16 Jun 2017 21:04:30 +0000 (14:04 -0700)] 
fixed attempt : minor Visual sign conversion warning

8 years agoadded ZSTD_startNewCompression()
Yann Collet [Fri, 16 Jun 2017 21:00:46 +0000 (14:00 -0700)] 
added ZSTD_startNewCompression()

8 years agochanged frameContentSize field to pledgedSrcSizePlusOne
Yann Collet [Fri, 16 Jun 2017 20:29:17 +0000 (13:29 -0700)] 
changed frameContentSize field to pledgedSrcSizePlusOne

pledgedSrcSize is proper : it's a promise, not yet fulfilled.
It will be controlled at the end.

PlusOne is meant to have 0 (default) == unknown

8 years agofix : pledgedSrcSize correctly reset to unknown in "continue" mode
Yann Collet [Fri, 16 Jun 2017 19:34:41 +0000 (12:34 -0700)] 
fix : pledgedSrcSize correctly reset to unknown in "continue" mode

8 years agofix : correctly reset pledgedSrcSize to unknown status
Yann Collet [Fri, 16 Jun 2017 19:24:01 +0000 (12:24 -0700)] 
fix : correctly reset pledgedSrcSize to unknown status

when starting a new compression with an existing context

8 years agofixed : new advanced AIP : setting nbThreads to the same value > 1
Yann Collet [Fri, 16 Jun 2017 19:04:21 +0000 (12:04 -0700)] 
fixed : new advanced AIP : setting nbThreads to the same value > 1

8 years agofixed : calling ZSTD_compress_generic() to end-flush a stream in multiple steps
Yann Collet [Fri, 16 Jun 2017 18:58:21 +0000 (11:58 -0700)] 
fixed : calling ZSTD_compress_generic() to end-flush a stream in multiple steps

8 years agoadded ZSTD_CCtx_reset
Yann Collet [Fri, 16 Jun 2017 17:17:50 +0000 (10:17 -0700)] 
added ZSTD_CCtx_reset

8 years agoprotection : ZSTD_CONTENTSIZE_UNKNOWN automatically disables contentSizeFlag
Yann Collet [Fri, 16 Jun 2017 01:17:10 +0000 (18:17 -0700)] 
protection : ZSTD_CONTENTSIZE_UNKNOWN automatically disables contentSizeFlag

8 years agoadded protection : MT incompatible with Static allocation
Yann Collet [Fri, 16 Jun 2017 01:03:34 +0000 (18:03 -0700)] 
added protection : MT incompatible with Static allocation

8 years agominor man update on -B# option in benchmark mode
Yann Collet [Mon, 12 Jun 2017 12:19:15 +0000 (05:19 -0700)] 
minor man update on -B# option in benchmark mode

8 years agodisabled MT code path when ZSTD_MULTITHREAD is not defined
Yann Collet [Mon, 12 Jun 2017 01:46:09 +0000 (18:46 -0700)] 
disabled MT code path when ZSTD_MULTITHREAD is not defined

8 years agoadded MT support to NEWAPI
Yann Collet [Mon, 12 Jun 2017 01:39:46 +0000 (18:39 -0700)] 
added MT support to NEWAPI

8 years agoadded control stage to MT mode
Yann Collet [Mon, 12 Jun 2017 01:32:36 +0000 (18:32 -0700)] 
added control stage to MT mode

8 years agolinked newAPI to ZSTDMT
Yann Collet [Tue, 6 Jun 2017 01:32:48 +0000 (18:32 -0700)] 
linked newAPI to ZSTDMT

8 years agominor fix for -Wdocumentation
cyan4973 [Mon, 5 Jun 2017 07:12:13 +0000 (00:12 -0700)] 
minor fix for -Wdocumentation

8 years agofixed g++ prototype mismatch
cyan4973 [Mon, 5 Jun 2017 06:52:00 +0000 (23:52 -0700)] 
fixed g++ prototype mismatch

8 years agofixed fullbench project for VS2010+
cyan4973 [Mon, 5 Jun 2017 05:06:25 +0000 (22:06 -0700)] 
fixed fullbench project for VS2010+

8 years agoupdated ZSTDMT streaming API
Yann Collet [Sat, 3 Jun 2017 08:15:02 +0000 (01:15 -0700)] 
updated ZSTDMT streaming API

ZSTDMT streaming API is now similar
and has same capabilites as single-thread streaming API.
It makes it easier to blend them together.

8 years agomade debug definitions common within zstd_internal.h
Yann Collet [Sat, 3 Jun 2017 01:20:48 +0000 (18:20 -0700)] 
made debug definitions common within zstd_internal.h

8 years agocompleted NEWS for v1.3.0
Yann Collet [Sat, 3 Jun 2017 00:43:55 +0000 (17:43 -0700)] 
completed NEWS for v1.3.0

8 years agoupdated NEWS for v1.3.0
Yann Collet [Sat, 3 Jun 2017 00:35:11 +0000 (17:35 -0700)] 
updated NEWS for v1.3.0

8 years agofixed missing initialization
Yann Collet [Sat, 3 Jun 2017 00:16:49 +0000 (17:16 -0700)] 
fixed missing initialization

8 years agosignificant zlib wrapper code refactoring
Yann Collet [Sat, 3 Jun 2017 00:10:49 +0000 (17:10 -0700)] 
significant zlib wrapper code refactoring

code indentation
variable scope and names
constify

Only coding style changes.
The logic should remain the same.

8 years agozlib_wrapper's uncompress() uses ZSTD_isFrame() for routing
Yann Collet [Fri, 2 Jun 2017 21:24:58 +0000 (14:24 -0700)] 
zlib_wrapper's uncompress() uses ZSTD_isFrame() for routing

more generic and safer than using own routing for magic number comparison

8 years agoensure zlibwrapper uses ZSTD_malloc() and ZSTD_free()
Yann Collet [Fri, 2 Jun 2017 21:01:21 +0000 (14:01 -0700)] 
ensure zlibwrapper uses ZSTD_malloc() and ZSTD_free()

which is compatible with { NULL, NULL, NULL }

8 years agominor indent
Yann Collet [Fri, 2 Jun 2017 20:47:11 +0000 (13:47 -0700)] 
minor indent

8 years agoadded POOL_sizeof() for single-thread
Yann Collet [Fri, 2 Jun 2017 18:36:47 +0000 (11:36 -0700)] 
added POOL_sizeof() for single-thread

8 years agoadded support for multithreading parameters
Yann Collet [Fri, 2 Jun 2017 01:44:06 +0000 (18:44 -0700)] 
added support for multithreading parameters

8 years agocreated ZSTDMT_sizeof_CCtx() and POOL_sizeof()
Yann Collet [Fri, 2 Jun 2017 00:56:14 +0000 (17:56 -0700)] 
created ZSTDMT_sizeof_CCtx() and POOL_sizeof()

required by ZSTD_sizeofCCtx() while adding a ZSTDMT_CCtx*

8 years agoprotected impossible switch(){default:} with assert(0)
Yann Collet [Thu, 1 Jun 2017 16:44:54 +0000 (09:44 -0700)] 
protected impossible switch(){default:} with assert(0)

can be converted into assume(0) in some future

8 years agoMerge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2
Yann Collet [Wed, 31 May 2017 17:03:20 +0000 (10:03 -0700)] 
Merge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2

8 years agofixed visual warning
Yann Collet [Wed, 31 May 2017 16:59:22 +0000 (09:59 -0700)] 
fixed visual warning

8 years agofixed visual warnings
Yann Collet [Wed, 31 May 2017 08:17:44 +0000 (01:17 -0700)] 
fixed visual warnings

8 years agofinally converted ZSTD_compressStream_generic() to use {in,ou}Buffer
Yann Collet [Wed, 31 May 2017 01:10:26 +0000 (18:10 -0700)] 
finally converted ZSTD_compressStream_generic() to use {in,ou}Buffer

replacing the older read/write variables from ZBUFF_* era.
Mostly to help code readability.

Fixed relevant callers.

8 years agoZSTD_createCCtx_advanced() now uses ZSTD_calloc()
Yann Collet [Wed, 31 May 2017 00:45:37 +0000 (17:45 -0700)] 
ZSTD_createCCtx_advanced() now uses ZSTD_calloc()

initially uses calloc() instead of memset().

Performance improvement is unlikely measurable,
since ZSTD_CCtx is now very small,
with all tables transferred into workSpace.

8 years agoexpose ZSTD_compress_generic_simpleArgs()
Yann Collet [Wed, 31 May 2017 00:42:00 +0000 (17:42 -0700)] 
expose ZSTD_compress_generic_simpleArgs()

which is a binding towards ZSTD_compress_generic()
using only integral types for arguments.

8 years agoremoved defaultCustomMem
Yann Collet [Wed, 31 May 2017 00:11:39 +0000 (17:11 -0700)] 
removed defaultCustomMem

now ZSTD_customCMem is promoted as new default.

Advantages : ZSTD_customCMem = { NULL, NULL, NULL},
so it's natural default after a memset.

ZSTD_customCMem is public constant
(defaultCustomMem was private only).

Also : makes it possible to introduce ZSTD_calloc(),
which can now default to stdlib's calloc()
when it detects system default.

Fixed zlibwrapper which depended on defaultCustomMem.

8 years agoremoved mtctx->cstream
Yann Collet [Tue, 30 May 2017 23:37:19 +0000 (16:37 -0700)] 
removed mtctx->cstream

use the first cctx in pool when ZSTDMT is used in single-thread mode
now that cctx and cstream are the same object.

8 years agoMerge branch 'dev' into advancedAPI2
Yann Collet [Tue, 30 May 2017 23:18:57 +0000 (16:18 -0700)] 
Merge branch 'dev' into advancedAPI2

Fixed conflic in zstd_decompress.c

8 years agoadded ZSTDMT_createCCtx_advanced()
Yann Collet [Tue, 30 May 2017 23:12:06 +0000 (16:12 -0700)] 
added ZSTDMT_createCCtx_advanced()

make it possible to use custom allocators

8 years agoMerge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2
Yann Collet [Tue, 30 May 2017 17:02:03 +0000 (10:02 -0700)] 
Merge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2

8 years agofixed minor cast warning
Yann Collet [Sun, 28 May 2017 00:09:06 +0000 (17:09 -0700)] 
fixed minor cast warning

8 years agomtctx->jobs allocate its own memory space
Yann Collet [Sat, 27 May 2017 07:21:33 +0000 (00:21 -0700)] 
mtctx->jobs allocate its own memory space

to make ZSTDMT_CCtx_s size predictable
so that it can be included in CCtx

8 years agostatic dctx is incompatible with legacy support
Yann Collet [Sat, 27 May 2017 07:03:08 +0000 (00:03 -0700)] 
static dctx is incompatible with legacy support

documented, and runtime tested

8 years agoMerge pull request #712 from terrelln/dev
Yann Collet [Fri, 26 May 2017 16:48:12 +0000 (18:48 +0200)] 
Merge pull request #712 from terrelln/dev

[linux-kernel] Fix formatting and Makefile

8 years ago[linux-kernel] Fix duplicate symbols when built-in to kernel 712/head
Nick Terrell [Fri, 26 May 2017 01:34:13 +0000 (18:34 -0700)] 
[linux-kernel] Fix duplicate symbols when built-in to kernel

8 years agofixed a few code comments : ZSTD_getFrameParams => ZSTD_getFrameHeader
Yann Collet [Fri, 26 May 2017 01:29:08 +0000 (18:29 -0700)] 
fixed a few code comments : ZSTD_getFrameParams => ZSTD_getFrameHeader

8 years agoAdded ZSTD_initStaticCDict()
Yann Collet [Fri, 26 May 2017 01:05:49 +0000 (18:05 -0700)] 
Added ZSTD_initStaticCDict()

8 years agoMerge pull request #711 from ldv-alt/dev
Yann Collet [Fri, 26 May 2017 00:31:33 +0000 (02:31 +0200)] 
Merge pull request #711 from ldv-alt/dev

Fix typo in libzstd.a-mt make rules

8 years agoFix typo in libzstd.a-mt make rules 711/head
Dmitry V. Levin [Thu, 25 May 2017 23:43:05 +0000 (23:43 +0000)] 
Fix typo in libzstd.a-mt make rules

The macro name is ZSTD_MULTITHREAD, not ZSTD_MULTHREAD.

Fixes: ca6fae78080d ("Add MT enabled targets for libzstd")
8 years agoadded ZSTD_initStaticDDict()
Yann Collet [Thu, 25 May 2017 22:44:06 +0000 (15:44 -0700)] 
added ZSTD_initStaticDDict()

8 years agoupdated ZSTD_estimate?DictSize() to pass parameter byReference
Yann Collet [Thu, 25 May 2017 22:07:37 +0000 (15:07 -0700)] 
updated ZSTD_estimate?DictSize() to pass parameter byReference

resulting ?Dict object is smaller when created byReference.
Seems better than a documentation note.

8 years ago[linux-kernel] Fix clang-format edge case with goto labels
Nick Terrell [Thu, 25 May 2017 20:56:46 +0000 (13:56 -0700)] 
[linux-kernel] Fix clang-format edge case with goto labels

8 years agoadded ZSTD_initStaticDCtx()
Yann Collet [Thu, 25 May 2017 00:41:41 +0000 (17:41 -0700)] 
added ZSTD_initStaticDCtx()

8 years agomerged DStream's inBuff and outBuff into a single buffer
Yann Collet [Wed, 24 May 2017 22:42:24 +0000 (15:42 -0700)] 
merged DStream's inBuff and outBuff into a single buffer

Saves one malloc().
Also : makes it easier to implement static allocation

8 years agoMerge pull request #710 from terrelln/dev
Yann Collet [Wed, 24 May 2017 22:10:17 +0000 (00:10 +0200)] 
Merge pull request #710 from terrelln/dev

[linux-kernel] Minor formatting changes

8 years ago[linux-kernel] Fix some up clang-format edge cases 710/head
Nick Terrell [Wed, 24 May 2017 20:52:36 +0000 (13:52 -0700)] 
[linux-kernel] Fix some up clang-format edge cases

8 years ago[zstd] Fix up formatting edge cases for clang-format
Nick Terrell [Wed, 24 May 2017 20:50:10 +0000 (13:50 -0700)] 
[zstd] Fix up formatting edge cases for clang-format

8 years agofixed performance regression with ZSTD_decompress() on small files
Yann Collet [Wed, 24 May 2017 20:15:19 +0000 (13:15 -0700)] 
fixed performance regression with ZSTD_decompress() on small files

memset() was a quick fix to initialization problems,
but initialize too much space (tables, buffers)
which show up in decompression speed of ZSTD_decompress()
since it needs to recreate DCtx at each invocation.

Fixed by only initialization relevant pointers and size fields.

8 years agoMerge pull request #709 from codicodi/fix-cmake
Yann Collet [Wed, 24 May 2017 18:56:47 +0000 (20:56 +0200)] 
Merge pull request #709 from codicodi/fix-cmake

CMake improvements

8 years agoCMake improvements 709/head
codicodi [Wed, 24 May 2017 08:48:10 +0000 (10:48 +0200)] 
CMake improvements