]>
git.ipfire.org Git - thirdparty/zstd.git/log
W. Felix Handte [Thu, 10 Oct 2019 19:02:08 +0000 (15:02 -0400)]
Fix CCtx Size Estimation
W. Felix Handte [Thu, 10 Oct 2019 17:45:55 +0000 (13:45 -0400)]
Expand Default Redzone Size
W. Felix Handte [Tue, 17 Sep 2019 15:35:49 +0000 (11:35 -0400)]
Check if CCtx in Workspace after Null Check
W. Felix Handte [Mon, 16 Sep 2019 23:04:05 +0000 (19:04 -0400)]
Declare the ASAN Functions We Need, Don't Include the Header
W. Felix Handte [Mon, 16 Sep 2019 22:06:16 +0000 (18:06 -0400)]
Stop Allocating Extra Space for Table Redzones
W. Felix Handte [Mon, 16 Sep 2019 21:56:28 +0000 (17:56 -0400)]
Don't Try to Redzone the Tables
W. Felix Handte [Mon, 16 Sep 2019 21:47:29 +0000 (17:47 -0400)]
Fix Workspace Size Calculation
W. Felix Handte [Mon, 16 Sep 2019 21:45:40 +0000 (17:45 -0400)]
Fix ZSTD_sizeof_matchState() Calculation
W. Felix Handte [Mon, 16 Sep 2019 21:43:55 +0000 (17:43 -0400)]
Avoid ASAN Failure in ZSTD_cwksp_free()
W. Felix Handte [Mon, 16 Sep 2019 21:43:05 +0000 (17:43 -0400)]
Refactor Freeing CCtxes / CDicts Inside Workspaces
W. Felix Handte [Thu, 12 Sep 2019 23:41:45 +0000 (19:41 -0400)]
Surround Workspace Allocs with Dead Zone
W. Felix Handte [Thu, 12 Sep 2019 23:40:38 +0000 (19:40 -0400)]
Add `ZSTD_cwksp_alloc_size()` to Help Calculate Needed Workspace Size
W. Felix Handte [Thu, 12 Sep 2019 22:39:46 +0000 (18:39 -0400)]
Stop Assuming Tables are Adjacent
W. Felix Handte [Thu, 12 Sep 2019 22:33:00 +0000 (18:33 -0400)]
Poison Unused Workspace Memory
W. Felix Handte [Thu, 12 Sep 2019 22:32:22 +0000 (18:32 -0400)]
Detect Whether We're Being Compiled with ASAN
W. Felix Handte [Thu, 12 Sep 2019 22:24:44 +0000 (18:24 -0400)]
Remove Unused MEM_SKIP_MSAN Macro
Nick Terrell [Tue, 8 Oct 2019 21:58:16 +0000 (17:58 -0400)]
Merge pull request #1820 from mhlakhani/dev
Add OSS-Fuzz fuzzing badge
Hasnain Lakhani [Tue, 8 Oct 2019 21:13:45 +0000 (14:13 -0700)]
Add OSS-Fuzz fuzzing badge
This is basically redoing https://github.com/facebook/zstd/pull/1818 by @inferno-chromium from the OSS-Fuzz team
Yann Collet [Tue, 24 Sep 2019 22:15:33 +0000 (15:15 -0700)]
bump version number to v1.4.4
so that future reports on `dev` branch use this number instead
Yann Collet [Mon, 23 Sep 2019 20:44:27 +0000 (13:44 -0700)]
Merge pull request #1808 from davidbolvansky/highset-codegen
Improve ZSTD_highbit32's codegen
Dávid Bolvanský [Mon, 23 Sep 2019 19:32:56 +0000 (21:32 +0200)]
Fixed one more place
Dávid Bolvanský [Mon, 23 Sep 2019 19:23:09 +0000 (21:23 +0200)]
Use clz ^ 31 instead of 31 - clz; better codegen for GCC
Nick Terrell [Sun, 22 Sep 2019 00:04:36 +0000 (17:04 -0700)]
Merge pull request #1804 from terrelln/wild-and-fast
Optimize (de)compression and fix wildcopy overread
Nick Terrell [Sat, 21 Sep 2019 04:37:13 +0000 (21:37 -0700)]
Add UNUSED_ATTR to ZSTD_storeSeq()
Nick Terrell [Fri, 20 Sep 2019 23:39:27 +0000 (16:39 -0700)]
HINT_INLINE ZSTD_storeSeq()
Clang on Mac wasn't inlining `ZSTD_storeSeq()` in level 1, which was
causing a 5% performance regression. This fixes it.
Felix Handte [Fri, 20 Sep 2019 19:36:00 +0000 (15:36 -0400)]
Merge pull request #1806 from felixhandte/estimate-cctx-doc
Update Comment on `ZSTD_estimateCCtxSize()`
Nick Terrell [Fri, 20 Sep 2019 19:23:25 +0000 (12:23 -0700)]
Remove literals overread in ZSTD_storeSeq() for ~neutral perf
W. Felix Handte [Fri, 20 Sep 2019 18:11:29 +0000 (14:11 -0400)]
Update Comment on `ZSTD_estimateCCtxSize()`
Nick Terrell [Fri, 20 Sep 2019 15:25:12 +0000 (08:25 -0700)]
Fix bounds check in ZSTD_storeSeq()
Nick Terrell [Fri, 20 Sep 2019 08:23:35 +0000 (01:23 -0700)]
Fix too strict assert
Nick Terrell [Fri, 20 Sep 2019 08:09:47 +0000 (01:09 -0700)]
[tests] Fix decodecorpus
Nick Terrell [Fri, 20 Sep 2019 07:52:55 +0000 (00:52 -0700)]
Pass iend into ZSTD_storeSeq() to allow ZSTD_wildcopy()
Nick Terrell [Fri, 20 Sep 2019 07:52:15 +0000 (00:52 -0700)]
Widen ZSTD_wildcopy to 32 bytes
Nick Terrell [Thu, 19 Sep 2019 20:25:03 +0000 (13:25 -0700)]
Optimize decompression and fix wildcopy overread
* Bump `WILDCOPY_OVERLENGTH` to 16 to fix the wildcopy overread.
* Optimize `ZSTD_wildcopy()` by removing unnecessary branches and
unrolling the loop.
* Extract `ZSTD_overlapCopy8()` into its own function.
* Add `ZSTD_safecopy()` for `ZSTD_execSequenceEnd()`. It is
optimized for single long sequences, since that is the important
case that can end up in `ZSTD_execSequenceEnd()`. Without this
optimization, decompressing a block with 1 long match goes
from 5.7 GB/s to 800 MB/s.
* Refactor `ZSTD_execSequenceEnd()`.
* Increase the literal copy shortcut to 16.
* Add a shortcut for offset >= 16.
* Simplify `ZSTD_execSequence()` by pushing more cases into
`ZSTD_execSequenceEnd()`.
* Delete `ZSTD_execSequenceLong()` since it is exactly the
same as `ZSTD_execSequence()`.
clang-8 seeds +17.5% on silesia and +21.8% on enwik8.
gcc-9 sees +12% on silesia and +15.5% on enwik8.
TODO: More detailed measurements, and on more datasets.
Crdit to OSS-Fuzz for finding the wildcopy overread.
Nick Terrell [Thu, 19 Sep 2019 18:10:13 +0000 (11:10 -0700)]
Merge pull request #1801 from terrelln/int-max
[test] Test the bounds of ZSTD_c_srcSizeHint
Yann Collet [Wed, 18 Sep 2019 23:32:37 +0000 (16:32 -0700)]
Merge pull request #1802 from bimbashrestha/rle_block_bound_fix_pt2
Adding 4 blocks to FSE_BLOCKBOUND() in lib/common (different from las…
Bimba Shrestha [Wed, 18 Sep 2019 20:49:45 +0000 (13:49 -0700)]
adding bit container size
Bimba Shrestha [Wed, 18 Sep 2019 20:29:05 +0000 (13:29 -0700)]
Adding 4 blocks to FSE_BLOCKBOUND() in lib/common (different from last week)
Yann Collet [Wed, 18 Sep 2019 18:35:50 +0000 (11:35 -0700)]
Merge pull request #1756 from mgrice/dev
Improvements in zstd decode performance
Nick Terrell [Wed, 18 Sep 2019 18:05:08 +0000 (11:05 -0700)]
[test] Test the bounds of ZSTD_c_srcSizeHint
Yann Collet [Tue, 17 Sep 2019 21:54:23 +0000 (14:54 -0700)]
Merge pull request #1798 from facebook/refac_fast
minor refactor of ZSTD_fast
Yann Collet [Tue, 17 Sep 2019 21:02:57 +0000 (14:02 -0700)]
minor refactor of ZSTD_fast
- reduced variables lifetime
- more accurate code comments
Felix Handte [Tue, 17 Sep 2019 17:30:21 +0000 (13:30 -0400)]
Merge pull request #1783 from felixhandte/mtime-nsec
Set Mod Time Nanoseconds
Felix Handte [Mon, 16 Sep 2019 18:37:05 +0000 (14:37 -0400)]
Merge pull request #1780 from felixhandte/workspace-efficiency-3
Avoid Clearing Tables Even When Changing CParams
W. Felix Handte [Mon, 16 Sep 2019 16:08:03 +0000 (12:08 -0400)]
Don't Include `sanitizer/msan_interface.h`, Since Not All Platforms Provide It
Instead, explicitly declare the functions we use.
Nick Terrell [Sun, 15 Sep 2019 21:50:55 +0000 (14:50 -0700)]
Merge pull request #1791 from terrelln/doc-up
[libzstd] Improve advanced API docs
Nick Terrell [Sun, 15 Sep 2019 19:41:24 +0000 (12:41 -0700)]
[libzstd] Improve advanced API docs
Nick Terrell [Fri, 13 Sep 2019 21:13:34 +0000 (14:13 -0700)]
Merge pull request #1789 from terrelln/larger-fuzz
[fuzz] Fix leak in block_round_trip
Nick Terrell [Fri, 13 Sep 2019 17:32:38 +0000 (10:32 -0700)]
[fuzz] Fix leak in block_round_trip
Yann Collet [Fri, 13 Sep 2019 02:09:27 +0000 (19:09 -0700)]
Merge pull request #1784 from bimbashrestha/fse_block_bound_err
Rearranging assert and allowing 4 extra for FSE_BLOCKBOUND()
Nick Terrell [Fri, 13 Sep 2019 00:21:10 +0000 (17:21 -0700)]
Merge pull request #1785 from terrelln/larger-fuzz
[fuzz] Generate seed data up to 256KB
Bimba Shrestha [Thu, 12 Sep 2019 22:35:27 +0000 (15:35 -0700)]
Added assert to BIT_flushBits()
Nick Terrell [Thu, 12 Sep 2019 22:02:01 +0000 (15:02 -0700)]
[fuzz] Generate seed data up to 256KB
Bimba Shrestha [Thu, 12 Sep 2019 21:43:50 +0000 (14:43 -0700)]
Rearranging assert and allowing 4 extra for FSE_BLOCKBOUND()
Nick Terrell [Thu, 12 Sep 2019 21:27:58 +0000 (14:27 -0700)]
Merge pull request #1781 from darxsys/improvDataGen
Improve data generation
W. Felix Handte [Thu, 12 Sep 2019 20:27:05 +0000 (16:27 -0400)]
Formatting and Clean Up
Dario Pavlovic [Thu, 12 Sep 2019 20:11:02 +0000 (13:11 -0700)]
Merge branch 'improvDataGen' of github.com:darxsys/zstd into improvDataGen
Dario Pavlovic [Thu, 12 Sep 2019 20:10:34 +0000 (13:10 -0700)]
It's time for all of rng seed code to go. Goodbye
Dario Pavlovic [Thu, 12 Sep 2019 19:45:28 +0000 (12:45 -0700)]
Update tests/fuzz/fuzz_data_producer.h
Dario Pavlovic [Thu, 12 Sep 2019 19:40:12 +0000 (12:40 -0700)]
Use range instead of the generic uint32 method to use less bytes when generating necessary numbers.
Yann Collet [Thu, 12 Sep 2019 16:39:15 +0000 (09:39 -0700)]
ignore dictionary artifacts
W. Felix Handte [Thu, 12 Sep 2019 15:48:46 +0000 (11:48 -0400)]
Set M-Time Nanoseconds
Felix Handte [Thu, 12 Sep 2019 15:44:31 +0000 (11:44 -0400)]
Merge pull request #1708 from neheb/dev
zstd: Don't use utime on Linux
W. Felix Handte [Wed, 11 Sep 2019 21:03:09 +0000 (17:03 -0400)]
Shrink Table Valid End During Alloc Alignment / Phase Change
W. Felix Handte [Wed, 11 Sep 2019 20:41:41 +0000 (16:41 -0400)]
Add Assertions to Confirm that Workspace Pointers are Correctly Ordered
W. Felix Handte [Wed, 11 Sep 2019 20:40:29 +0000 (16:40 -0400)]
`__msan_poison()` Workspace When Preparing for Re-Use
W. Felix Handte [Wed, 11 Sep 2019 18:25:30 +0000 (14:25 -0400)]
Fix Memory Leak in Test
W. Felix Handte [Wed, 11 Sep 2019 17:59:09 +0000 (13:59 -0400)]
Fix Compilation Error (`uint32_t` -> `size_t`)
W. Felix Handte [Wed, 11 Sep 2019 17:23:59 +0000 (13:23 -0400)]
Speed Up Test a Little
W. Felix Handte [Wed, 11 Sep 2019 17:17:19 +0000 (13:17 -0400)]
Add Fuzzer Test Case for Index Reduction
W. Felix Handte [Wed, 11 Sep 2019 17:14:26 +0000 (13:14 -0400)]
Zero `h3size` When `h3log` is 0
This led to a nasty edgecase, where index reduction for modes that don't use
the h3 table would have a degenerate table (size 4) allocated and marked clean,
but which would not be re-indexed.
Dario Pavlovic [Wed, 11 Sep 2019 17:09:29 +0000 (10:09 -0700)]
Combining fuzz_data_producer restrict calls into a single function
W. Felix Handte [Wed, 11 Sep 2019 15:40:57 +0000 (11:40 -0400)]
Also Shrink Clean Table Area When Reducing Indices
W. Felix Handte [Wed, 11 Sep 2019 15:21:00 +0000 (11:21 -0400)]
Update DEBUGLOG Statements
W. Felix Handte [Wed, 11 Sep 2019 15:18:45 +0000 (11:18 -0400)]
Shrink Clean Table Area When Copying Table Contents into Context
The source matchState is potentially at a lower current index, which means
that any extra table space not overwritten by the copy may now contain
invalid indices. The simple solution is to unconditionally shrink the valid
table area to just the area overwritten.
Dario Pavlovic [Tue, 10 Sep 2019 23:52:38 +0000 (16:52 -0700)]
All tests should give some portion of data to the producer and use the rest.
Dario Pavlovic [Tue, 10 Sep 2019 23:20:27 +0000 (16:20 -0700)]
Merge branch 'dev' into improvDataGen
Dario Pavlovic [Tue, 10 Sep 2019 23:14:43 +0000 (16:14 -0700)]
[Fuzz] Improve data generation #1723
Converting the rest of the tests to use the new data producer.
W. Felix Handte [Tue, 10 Sep 2019 22:02:22 +0000 (18:02 -0400)]
Comments
W. Felix Handte [Tue, 10 Sep 2019 21:55:41 +0000 (17:55 -0400)]
Only Reset Indexing in `ZSTD_resetCCtx_internal()` When Necessary
W. Felix Handte [Tue, 10 Sep 2019 21:59:45 +0000 (17:59 -0400)]
Remove No-Longer-Used Continuation Functions
W. Felix Handte [Tue, 10 Sep 2019 21:54:11 +0000 (17:54 -0400)]
Remove Fast Continue Path in `ZSTD_resetCCtx_internal()`
W. Felix Handte [Tue, 10 Sep 2019 21:43:35 +0000 (17:43 -0400)]
`ZSTD_reset_matchState` Optionally Doesn't Restart Indexing
W. Felix Handte [Tue, 10 Sep 2019 21:38:32 +0000 (17:38 -0400)]
Rename `ZSTD_compResetPolicy_e` Values and Add Comment
W. Felix Handte [Tue, 10 Sep 2019 21:28:52 +0000 (17:28 -0400)]
Accept `ZSTD_indexResetPolicy_e` Param in `ZSTD_reset_matchState()`
W. Felix Handte [Tue, 10 Sep 2019 21:24:02 +0000 (17:24 -0400)]
Introduce `ZSTD_indexResetPolicy_e` Enum
W. Felix Handte [Tue, 3 Sep 2019 17:08:24 +0000 (13:08 -0400)]
Track Usable Table Space in Compression Workspace
Yann Collet [Tue, 10 Sep 2019 22:20:29 +0000 (15:20 -0700)]
Merge pull request #1712 from felixhandte/workspace-efficiency-2
Allocate Internal Buffers via Workspace Abstraction
W. Felix Handte [Tue, 10 Sep 2019 20:03:13 +0000 (16:03 -0400)]
Remove Empty lib/compress/zstd_cwksp.c
Yann Collet [Tue, 10 Sep 2019 19:12:08 +0000 (12:12 -0700)]
Merge pull request #1775 from facebook/edufix
fix educational decoder
Nick Terrell [Tue, 10 Sep 2019 18:51:23 +0000 (11:51 -0700)]
Merge pull request #1777 from darxsys/improvDataGen
[Fuzz] Improve data generation #1723
Yann Collet [Tue, 10 Sep 2019 18:17:29 +0000 (11:17 -0700)]
Merge pull request #1773 from bimbashrestha/rle_first_block_decompression_fix
Removing redundant condition in decompression, making first block rle…
Yann Collet [Tue, 10 Sep 2019 16:36:02 +0000 (09:36 -0700)]
fix education decoder test
when `zstd` in not installed on local system
by allowing `ZSTD` variable to hold a custom location for the binary
Bimba Shrestha [Tue, 10 Sep 2019 16:30:37 +0000 (09:30 -0700)]
Using a number instead of M prefix in head call
Dario Pavlovic [Mon, 9 Sep 2019 23:13:24 +0000 (16:13 -0700)]
Addressing nits
W. Felix Handte [Mon, 9 Sep 2019 23:10:09 +0000 (19:10 -0400)]
Forward Declare `ZSTD_cwksp_available_space` to Fix Build
W. Felix Handte [Mon, 9 Sep 2019 22:30:53 +0000 (18:30 -0400)]
Inline Workspace Functions
Dario Pavlovic [Mon, 9 Sep 2019 22:39:04 +0000 (15:39 -0700)]
Fixing issues with double usage of data.
W. Felix Handte [Tue, 3 Sep 2019 17:13:16 +0000 (13:13 -0400)]
Forward resetCCtx Errors when Using CDict
W. Felix Handte [Mon, 9 Sep 2019 20:45:17 +0000 (16:45 -0400)]
Fix sizeof_CCtx and sizeof_CDict Calculations for Statically Init'ed Objects