]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
11 months agoBump github/codeql-action from 3.27.1 to 3.28.1 4255/head
dependabot[bot] [Mon, 20 Jan 2025 05:47:03 +0000 (05:47 +0000)] 
Bump github/codeql-action from 3.27.1 to 3.28.1

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.1 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/4f3212b61783c3c68e8309a0f18a699764811cda...b6a472f63d85b9c78a3ac5e89422239fc15e9b3c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months agoMerge pull request #4253 from facebook/BitContainerType
Yann Collet [Mon, 20 Jan 2025 02:35:36 +0000 (18:35 -0800)] 
Merge pull request #4253 from facebook/BitContainerType

minor: use BitContainerType when appropriate

11 months agoMerge pull request #4252 from facebook/x32_dynamicBmi2
Yann Collet [Mon, 20 Jan 2025 02:30:29 +0000 (18:30 -0800)] 
Merge pull request #4252 from facebook/x32_dynamicBmi2

enable DYNAMIC_BMI2 by default on x86 (32-bit mode)

11 months agominor: generalize BitContainerType 4253/head
Yann Collet [Sun, 19 Jan 2025 17:32:01 +0000 (09:32 -0800)] 
minor: generalize BitContainerType

technically equivalent to `size_t`,
but it's the proper type for underlying register representation.

This makes it possible to control register type, and therefore size, independently from `size_t`,
which can be useful on systems where `size_t` is 32-bit, while the architecture supports 64-bit registers.

11 months agoenable DYNAMIC_BMI2 by default on x86 (32-bit mode) 4252/head
Yann Collet [Sun, 19 Jan 2025 15:39:17 +0000 (07:39 -0800)] 
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)

so far was only enabled for x64 (64-bit mode)

11 months agoMerge pull request #4251 from facebook/x32_bmi2
Yann Collet [Sun, 19 Jan 2025 15:37:57 +0000 (07:37 -0800)] 
Merge pull request #4251 from facebook/x32_bmi2

BMI2 detection in 32-bit mode

11 months agono longer limit automated BMI2 detection to x64 4251/head
Yann Collet [Sun, 19 Jan 2025 08:08:57 +0000 (00:08 -0800)] 
no longer limit automated BMI2 detection to x64

this was previously no triggered in x86 32-bit mode,
due to a limitation in `bitstream.h`, that was fixed in #4248.

Now, `bmi2` will be automatically detected and triggered
at compilation time, if the corresponding instruction set is enabled,
even in 32-bit mode.

Also: updated library documentation, to feature STATIC_BMI2 build variable

11 months agoMerge pull request #4250 from facebook/x86_32_avx2
Yann Collet [Sun, 19 Jan 2025 07:54:51 +0000 (23:54 -0800)] 
Merge pull request #4250 from facebook/x86_32_avx2

added a CI test for x86 32-bit + avx2 combination

11 months agoalso add `-mbmi2` to the compilation test 4250/head
Yann Collet [Sun, 19 Jan 2025 06:58:03 +0000 (22:58 -0800)] 
also add `-mbmi2` to the compilation test

11 months agominor: cosmetic, indentation
Yann Collet [Sun, 19 Jan 2025 06:48:49 +0000 (22:48 -0800)] 
minor: cosmetic, indentation

11 months agoadded -DSTATIC_BMI2=1 for the -mavx2 test
Yann Collet [Sun, 19 Jan 2025 06:40:18 +0000 (22:40 -0800)] 
added -DSTATIC_BMI2=1 for the -mavx2 test

11 months agofixed minor static function declaration issue
Yann Collet [Sun, 19 Jan 2025 04:43:30 +0000 (20:43 -0800)] 
fixed minor static function declaration issue

in AVX2 mode only

11 months agoadded avx2 (x64) compilation test
Yann Collet [Sun, 19 Jan 2025 04:38:48 +0000 (20:38 -0800)] 
added avx2 (x64) compilation test

11 months agoadded a CI test for x86 32-bit + avx2 combination
Yann Collet [Sun, 19 Jan 2025 04:19:55 +0000 (20:19 -0800)] 
added a CI test for x86 32-bit + avx2 combination

which is expected to be quite rare, but nonetheless possible.

This test is initially expected to fail, before integration of #4248 fix

11 months agoMerge pull request #4248 from pps83/dev-bzhi32
Yann Collet [Sun, 19 Jan 2025 06:48:24 +0000 (22:48 -0800)] 
Merge pull request #4248 from pps83/dev-bzhi32

Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2

11 months agoMerge pull request #4246 from pps83/dev-asmx64-win
Yann Collet [Sun, 19 Jan 2025 04:03:16 +0000 (20:03 -0800)] 
Merge pull request #4246 from pps83/dev-asmx64-win

[asm] Enable x86_64 asm for windows builds

11 months agoMerge pull request #4249 from facebook/zds_nonnull
Yann Collet [Sun, 19 Jan 2025 02:56:46 +0000 (18:56 -0800)] 
Merge pull request #4249 from facebook/zds_nonnull

minor: assert that state is not null

11 months agoupdate sizeof check 4248/head
Pavel P [Sun, 19 Jan 2025 00:37:35 +0000 (02:37 +0200)] 
update sizeof check

11 months agoremove unrelated changes 4246/head
Pavel P [Sun, 19 Jan 2025 00:36:00 +0000 (02:36 +0200)] 
remove unrelated changes

11 months agochange to BitContainerType
Pavel P [Sun, 19 Jan 2025 00:34:23 +0000 (02:34 +0200)] 
change to BitContainerType

11 months agohandle 32bit size_t when building for x64
Pavel P [Sat, 18 Jan 2025 21:37:50 +0000 (23:37 +0200)] 
handle 32bit size_t when building for x64

11 months agohandle 32bit size_t when building for x64
Pavel P [Sat, 18 Jan 2025 21:27:19 +0000 (23:27 +0200)] 
handle 32bit size_t when building for x64

11 months agominor: assert that state is not null 4249/head
Yann Collet [Sat, 18 Jan 2025 21:08:04 +0000 (13:08 -0800)] 
minor: assert that state is not null

replaces #4016

11 months agoMerge pull request #4247 from facebook/test_endMsg
Yann Collet [Sat, 18 Jan 2025 21:06:07 +0000 (13:06 -0800)] 
Merge pull request #4247 from facebook/test_endMsg

Added a human-readable final success message at end of tests

11 months agoCI: replaced shortest target by check 4247/head
Yann Collet [Sat, 18 Jan 2025 20:22:52 +0000 (12:22 -0800)] 
CI: replaced shortest target by check

11 months agoUse _bzhi_u32 for 32-bit builds when building with STATIC_BMI2
Pavel P [Sat, 18 Jan 2025 19:32:30 +0000 (21:32 +0200)] 
Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2

`_bzhi_u64` is available only for 64-bit builds, while `BIT_getLowerBits` expects `nbBits` to be less than `BIT_MASK_SIZE` (`BIT_MASK_SIZE` is 32)

11 months ago[asm] Enable x86_64 asm for windows builds
Pavel P [Sat, 18 Jan 2025 03:01:43 +0000 (05:01 +0200)] 
[asm] Enable x86_64 asm for windows builds

11 months agoAdded a final success message at end of tests
Yann Collet [Sat, 18 Jan 2025 03:30:55 +0000 (19:30 -0800)] 
Added a final success message at end of tests

so that a human reading the test log can determine everything was fine without consulting the shell error code.

Also: made `make check` slightly shorter by moving one longer test to `make test`

11 months agoMerge pull request #4242 from lalakii/dev
Yann Collet [Thu, 16 Jan 2025 18:33:18 +0000 (10:33 -0800)] 
Merge pull request #4242 from lalakii/dev

add prerelease option

11 months agoMerge pull request #4235 from facebook/bench_nbThreads
Yann Collet [Thu, 16 Jan 2025 18:33:04 +0000 (10:33 -0800)] 
Merge pull request #4235 from facebook/bench_nbThreads

benchmark mode specifies nb of threads with -v

11 months agoMerge pull request #4238 from szsam/patch-1
Yann Collet [Thu, 16 Jan 2025 01:56:41 +0000 (17:56 -0800)] 
Merge pull request #4238 from szsam/patch-1

fix out-of-bounds array index access

11 months agoMerge pull request #4232 from facebook/convertSequences_SSE
Yann Collet [Thu, 16 Jan 2025 01:56:05 +0000 (17:56 -0800)] 
Merge pull request #4232 from facebook/convertSequences_SSE

Improve speed of ZSTD_compressSequencesAndLiterals() using AVX2

11 months agorestore full equation 4232/head
Yann Collet [Tue, 14 Jan 2025 23:57:05 +0000 (15:57 -0800)] 
restore full equation

do not solve the equation, even though some members cancel each other,
this is done for clarity,
we'll let the compiler do the resolution at compile time.

11 months agoAlignment instruction ZSTD_ALIGNED() in common/compiler.h
Yann Collet [Tue, 14 Jan 2025 23:54:10 +0000 (15:54 -0800)] 
Alignment instruction ZSTD_ALIGNED() in common/compiler.h

11 months agochanged code compilation test to employ ZSTD_ARCH_X86_AVX2
Yann Collet [Tue, 14 Jan 2025 22:56:10 +0000 (14:56 -0800)] 
changed code compilation test to employ ZSTD_ARCH_X86_AVX2

11 months agoremoved unused branch
Yann Collet [Tue, 14 Jan 2025 22:54:02 +0000 (14:54 -0800)] 
removed unused branch

11 months agocreate new compilation macro ZSTD_ARCH_X86_AVX2
Yann Collet [Tue, 14 Jan 2025 22:44:02 +0000 (14:44 -0800)] 
create new compilation macro ZSTD_ARCH_X86_AVX2

11 months agominor code doc update
Yann Collet [Wed, 8 Jan 2025 22:25:03 +0000 (14:25 -0800)] 
minor code doc update

11 months agoadded compilation-time checks to ensure AVX2 code is valid
Yann Collet [Wed, 8 Jan 2025 18:51:57 +0000 (10:51 -0800)] 
added compilation-time checks to ensure AVX2 code is valid

since it depends on a specific definition of ZSTD_Sequence structure.

11 months agoremoved unused variable
Yann Collet [Wed, 8 Jan 2025 07:59:01 +0000 (23:59 -0800)] 
removed unused variable

11 months agofix minor conversion warning
Yann Collet [Wed, 8 Jan 2025 07:45:15 +0000 (23:45 -0800)] 
fix minor conversion warning

11 months agono need for specialized variant
Yann Collet [Wed, 8 Jan 2025 07:40:49 +0000 (23:40 -0800)] 
no need for specialized variant

the branch is not in the hot loop

11 months agoremoved erroneous #includes
Yann Collet [Wed, 8 Jan 2025 07:34:19 +0000 (23:34 -0800)] 
removed erroneous #includes

that were automatically added by the editor without notification

11 months agoAVX2 version of ZSTD_get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 07:32:05 +0000 (23:32 -0800)] 
AVX2 version of ZSTD_get1BlockSummary()

11 months agominor +10% speed improvement for scalar ZSTD_get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 03:34:06 +0000 (19:34 -0800)] 
minor +10% speed improvement for scalar ZSTD_get1BlockSummary()

11 months agoadded benchmark for get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 03:29:06 +0000 (19:29 -0800)] 
added benchmark for get1BlockSummary()

11 months agogeneralize validation function
Yann Collet [Wed, 8 Jan 2025 01:04:12 +0000 (17:04 -0800)] 
generalize validation function

11 months agocontrol long length within AVX2 implementation
Yann Collet [Wed, 8 Jan 2025 00:42:36 +0000 (16:42 -0800)] 
control long length within AVX2 implementation

11 months agofullbench can run a verification function
Yann Collet [Tue, 7 Jan 2025 23:51:38 +0000 (15:51 -0800)] 
fullbench can run a verification function

compressSequencesAndLiterals: fixed long lengths in scalar mode

11 months agoinitial implementation (incomplete)
Yann Collet [Sun, 29 Dec 2024 10:13:57 +0000 (02:13 -0800)] 
initial implementation (incomplete)

needs to take care of long lengths > 65535

11 months agoMerge pull request #4243 from facebook/fix_ci
Yann Collet [Thu, 16 Jan 2025 01:10:26 +0000 (17:10 -0800)] 
Merge pull request #4243 from facebook/fix_ci

fix ci tests

11 months agofixed zlib test 4243/head
Yann Collet [Thu, 16 Jan 2025 00:31:00 +0000 (16:31 -0800)] 
fixed zlib test

new versions of the library generate a different error code

11 months agozlib-wrapper: separate test components to better understand what is failing
Yann Collet [Thu, 16 Jan 2025 00:05:42 +0000 (16:05 -0800)] 
zlib-wrapper: separate test components to better understand what is failing

11 months agoupdate installed lib64gcc version
Yann Collet [Wed, 15 Jan 2025 23:52:27 +0000 (15:52 -0800)] 
update installed lib64gcc version

11 months agoshort-test-1: separate tests, giving each a name
Yann Collet [Wed, 15 Jan 2025 23:39:20 +0000 (15:39 -0800)] 
short-test-1: separate tests, giving each a name

to better observe where the problem might be

11 months agofixed cmake-build-and-test-check
Yann Collet [Wed, 15 Jan 2025 23:28:23 +0000 (15:28 -0800)] 
fixed cmake-build-and-test-check

missing the liblzma library

11 months agofix make-external-compressors "only-lzma" test
Yann Collet [Wed, 15 Jan 2025 23:24:27 +0000 (15:24 -0800)] 
fix make-external-compressors "only-lzma" test

missing the liblzma-dev package

11 months agofix meson-linux build test
Yann Collet [Wed, 15 Jan 2025 23:15:27 +0000 (15:15 -0800)] 
fix meson-linux build test

missing the liblzma package

11 months agofix clang-pgo test
Yann Collet [Wed, 15 Jan 2025 22:49:45 +0000 (14:49 -0800)] 
fix clang-pgo test

11 months agoMerge pull request #4234 from MessyHack/dev
Yann Collet [Tue, 14 Jan 2025 22:33:25 +0000 (14:33 -0800)] 
Merge pull request #4234 from MessyHack/dev

[MSVC] Wrong define checked when building for 64bit with Visual Studio

11 months agoMerge pull request #4237 from facebook/typo_s
Yann Collet [Tue, 14 Jan 2025 19:12:46 +0000 (11:12 -0800)] 
Merge pull request #4237 from facebook/typo_s

fixed an obvious macro name typo

11 months agoadd prerelease option 4241/head 4242/head
lalakii [Tue, 14 Jan 2025 18:16:42 +0000 (02:16 +0800)] 
add prerelease option

11 months agoreturn error if block delimiter is not found 4238/head
Mingjie Shen [Tue, 14 Jan 2025 01:52:06 +0000 (20:52 -0500)] 
return error if block delimiter is not found

11 months ago[contrib/pzstd] Prevent hangs when there are errors
Sean Bartell [Thu, 20 Jun 2024 20:52:43 +0000 (15:52 -0500)] 
[contrib/pzstd] Prevent hangs when there are errors

When two threads are using a WorkQueue and the reader thread exits due
to an error, it must call WorkQueue::finish() to wake up the writer
thread. Otherwise, if the queue is full and the writer thread is waiting
for a free slot, it could hang forever.

This can happen in pratice when decompressing a large, corrupted file
that does not contain pzstd skippable frames.

11 months agofix out-of-bounds array index access
Mingjie Shen [Mon, 13 Jan 2025 21:39:34 +0000 (16:39 -0500)] 
fix out-of-bounds array index access

11 months agofixed macro name typo 4237/head
Yann Collet [Mon, 13 Jan 2025 07:08:26 +0000 (23:08 -0800)] 
fixed macro name typo

11 months agobench: nb threads specified with -v 4235/head
Yann Collet [Sun, 12 Jan 2025 09:32:40 +0000 (01:32 -0800)] 
bench: nb threads specified with -v

11 months agoshould check defined(_M_X64) not defined(_M_X86) when building with MSVC. 4234/head
MessyHack [Sat, 11 Jan 2025 06:38:56 +0000 (22:38 -0800)] 
should check defined(_M_X64) not defined(_M_X86) when building with MSVC.

_M_X86 is only defined under MSVC 32Bit
_M_X64 is only defined under MSVC 64Bit

11 months agoMerge pull request #4218 from facebook/externC
Victor Zhang [Tue, 7 Jan 2025 18:06:08 +0000 (10:06 -0800)] 
Merge pull request #4218 from facebook/externC

Move #includes out of `extern "C"` blocks

11 months agoMerge pull request #4231 from sunpoet/dev
Yann Collet [Tue, 7 Jan 2025 17:04:57 +0000 (09:04 -0800)] 
Merge pull request #4231 from sunpoet/dev

Update MANDIR for FreeBSD

11 months agoMerge pull request #4230 from facebook/variedOutput
Victor Zhang [Mon, 6 Jan 2025 17:26:57 +0000 (09:26 -0800)] 
Merge pull request #4230 from facebook/variedOutput

Do not vary row matchfinder selection based on availability of SSE2/Neon

11 months agoUpdate MANDIR for FreeBSD 4231/head
Po-Chuan Hsieh [Sun, 5 Jan 2025 14:26:08 +0000 (22:26 +0800)] 
Update MANDIR for FreeBSD

share/man became a valid path for manpage since Jan 2020. And we
converted the whole ports tree to share/man around last March.

11 months agoDo not vary row matchfinder selection based on availability of SSE2/Neon 4230/head
Victor Zhang [Fri, 3 Jan 2025 17:35:18 +0000 (09:35 -0800)] 
Do not vary row matchfinder selection based on availability of SSE2/Neon

Move towards a stronger guarantee of reproducibility by removing this small difference for machines without SSE2/Neon.
The SIMD behavior is now the default for all platforms.

11 months ago[opt] Fix too short of match getting generated
Nick Terrell [Fri, 20 Dec 2024 22:32:28 +0000 (17:32 -0500)] 
[opt] Fix too short of match getting generated

The optimal parser with LDM enabled using minMatch > 3 could generate a match
length of 3 when minMatch >= 4. This is not allowed.

1. Fix the bug
2. Add validation logic to `ZSTD_buildSeqStore()` in debug mode for all block
   compressors that checks we never generate too short a match. This way we don't
   rely on the `generate_sequences` fuzzer to find this issue.

Credit to OSS-Fuzz

12 months agoMerge pull request #4229 from facebook/noFseek
Victor Zhang [Fri, 3 Jan 2025 06:42:00 +0000 (22:42 -0800)] 
Merge pull request #4229 from facebook/noFseek

Support for libc variants without fseeko/ftello

12 months agochore: indentation alignment 4229/head
Victor Zhang [Thu, 2 Jan 2025 23:10:40 +0000 (15:10 -0800)] 
chore: indentation alignment

12 months agoPR feedback
Victor Zhang [Thu, 2 Jan 2025 23:05:58 +0000 (15:05 -0800)] 
PR feedback

12 months agoOops
Victor Zhang [Thu, 2 Jan 2025 22:17:24 +0000 (14:17 -0800)] 
Oops

12 months agoSupport for libc variants without fseeko/ftello
Victor Zhang [Thu, 2 Jan 2025 22:02:10 +0000 (14:02 -0800)] 
Support for libc variants without fseeko/ftello

Some older Android libc implementations don't support `fseeko` or `ftello`.
This commit adds a new compile-time macro `LIBC_NO_FSEEKO` as well as a usage in CMake for old Android APIs.

12 months agoMerge pull request #4228 from facebook/skippableMagicVariant
Yann Collet [Thu, 2 Jan 2025 18:57:49 +0000 (10:57 -0800)] 
Merge pull request #4228 from facebook/skippableMagicVariant

ZSTD_getFrameHeader() for skippable frames

12 months agoupdate type names 4228/head
Yann Collet [Sun, 29 Dec 2024 22:25:33 +0000 (14:25 -0800)] 
update type names

naming convention: Type names should start with a Capital letter (after the prefix)

12 months agoMerge pull request #4227 from facebook/doc_skippableFrame
Yann Collet [Sun, 29 Dec 2024 21:27:35 +0000 (13:27 -0800)] 
Merge pull request #4227 from facebook/doc_skippableFrame

clarify documentation for Frame-level methods invoked on a skippable frame

12 months agoimprove ZSTD_getFrameHeader on skippable frames
Yann Collet [Sun, 29 Dec 2024 20:26:04 +0000 (12:26 -0800)] 
improve ZSTD_getFrameHeader on skippable frames

now reports:
- the header size
- the magic variant (within @dictID field)

12 months agoclarify doc on Frame-level methods when invoked on a skippable frame 4227/head
Yann Collet [Sun, 29 Dec 2024 10:35:53 +0000 (02:35 -0800)] 
clarify doc on Frame-level methods when invoked on a skippable frame

following discussion at #4226

12 months agoMerge pull request #4217 from facebook/ZSTD_compressSequencesAndLiterals
Yann Collet [Thu, 26 Dec 2024 19:41:44 +0000 (11:41 -0800)] 
Merge pull request #4217 from facebook/ZSTD_compressSequencesAndLiterals

ZSTD_compressSequencesAndLiterals

12 months agofixed another invalid scenario 4217/head
Yann Collet [Tue, 24 Dec 2024 05:15:50 +0000 (21:15 -0800)] 
fixed another invalid scenario

compressSequencesAndLiterals() doesn't support sequence validation

12 months agoadd one valid test case
Yann Collet [Tue, 24 Dec 2024 03:43:17 +0000 (19:43 -0800)] 
add one valid test case

ZSTD_compressSequencesAndLiterals() may return a specific error code
when data to compress is non-compressible.

12 months agoadded fuzzer test for compressSequencesAndLiterals()
Yann Collet [Tue, 24 Dec 2024 02:42:51 +0000 (18:42 -0800)] 
added fuzzer test for compressSequencesAndLiterals()

piggy-backing onto existing compressSequences() fuzzer test

12 months ago[cmake] Fix -z noexecstack portability
Nick Terrell [Fri, 20 Dec 2024 17:40:32 +0000 (09:40 -0800)] 
[cmake] Fix -z noexecstack portability

Summary:
Issue reported by @ryandesign and @MarcusCalhoun-Lopez.

CMake doesn't support spaces in flags. This caused older versions of gcc to
ignore the unknown flag "-z noexecstack" on MacOS since it was interpreted as a
single flag, not two separate flags. Then, during compilation it was treated as
"-z" "noexecstack", which was correctly forwarded to the linker. But the MacOS
linker does not support `-z noexecstack` so compilation failed.

The fix is to use `-Wl,-z,noexecstack`. This is never misinterpreted by a
compiler. However, not all compilers support this syntax to forward flags to the
linker. To fix this issue, we check if all the relevant `noexecstack` flags have
been successfully set, and if they haven't we disable assembly.

See also PR#4056 and PR#4061. I decided to go a different route because this is
simpler. It might not successfully set these flags on some compilers, but in that
case it also disables assembly, so they aren't required.

Test Plan:
```
mkdir build-cmake
cmake ../build/cmake/CMakeLists.txt
make -j
```

See that the linker flag is successfully detected & that assembly is enabled.

Run the same commands on MacOS which doesn't support `-Wl,-z,noexecstack` and see
that everything compiles and that `LD_FLAG_WL_Z_NOEXECSTACK` and
`ZSTD_HAS_NOEXECSTACK` are both false.

12 months agorestore invocation of ZSTD_entropyCompressSeqStore()
Yann Collet [Fri, 20 Dec 2024 17:03:26 +0000 (09:03 -0800)] 
restore invocation of ZSTD_entropyCompressSeqStore()

in the ZSTD_compressSequences() pipeline

12 months agominor: use MEM_writeLE24()
Yann Collet [Fri, 20 Dec 2024 00:11:46 +0000 (16:11 -0800)] 
minor: use MEM_writeLE24()

so that an empty frame needs only 3 bytes of dstCapacity.

12 months agoadded parameter litCapacity
Yann Collet [Thu, 19 Dec 2024 23:55:11 +0000 (15:55 -0800)] 
added parameter litCapacity

to ZSTD_compressSequencesAndLiterals()
to enforce the litCapacity >= litSize+8 condition.

12 months agoadd a check, to return an error if Sequence validation is enabled
Yann Collet [Thu, 19 Dec 2024 23:39:57 +0000 (15:39 -0800)] 
add a check, to return an error if Sequence validation is enabled

since ZSTD_compressSequencesAndLiterals() doesn't support it.

12 months agofixed minor error in preparation of one fullbench scenario
Yann Collet [Thu, 19 Dec 2024 23:00:12 +0000 (15:00 -0800)] 
fixed minor error in preparation of one fullbench scenario

12 months agoensure that srcSize is controlled
Yann Collet [Thu, 19 Dec 2024 22:41:33 +0000 (14:41 -0800)] 
ensure that srcSize is controlled

12 months agoadd dedicated error code for special case
Yann Collet [Thu, 19 Dec 2024 17:45:28 +0000 (09:45 -0800)] 
add dedicated error code for special case

ZSTD_compressSequencesAndLiterals() cannot produce an uncompressed block

12 months agoadded a test for ZSTD_compressSequencesAndLiterals
Yann Collet [Thu, 19 Dec 2024 15:38:14 +0000 (07:38 -0800)] 
added a test for ZSTD_compressSequencesAndLiterals

checks that srcSize is present in the frame header
and bounds the window size.

12 months agoZSTD_compressSequencesAndLiterals requires srcSize as parameter
Yann Collet [Thu, 19 Dec 2024 15:26:38 +0000 (07:26 -0800)] 
ZSTD_compressSequencesAndLiterals requires srcSize as parameter

this makes it possible to adjust windowSize to its tightest.

12 months agofixed minor error in one benchmark scenario
Yann Collet [Wed, 18 Dec 2024 06:27:09 +0000 (22:27 -0800)] 
fixed minor error in one benchmark scenario

12 months agofixed minor conversion warning
Yann Collet [Wed, 18 Dec 2024 06:08:43 +0000 (22:08 -0800)] 
fixed minor conversion warning