ddidderr
127dd21195
feat(compress): move match-state reset policy into Rust
Move the reset decision tree for match-state tables from C into a Rust-owned
callback projection. Rust now decides chain/hash3/row/optimal allocations,
reset versus continue behavior, clean versus leave-dirty policy, scalar
publication, and allocation-error propagation. C retains the cwksp phases,
window invalidation, private pointer assignments, zeroing, and hash-salt
implementation behind callbacks, so the private match-state and workspace
layouts remain C-owned.
Update the migration boundary documentation and add callback-order probes for
CCtx optimal storage, CCtx row salting, CDict row zeroing, and table allocation
failure.
Test Plan:
- cargo fmt --manifest-path rust/Cargo.toml -- --check
- ulimit -v 41943040; CARGO_BUILD_JOBS=1 cargo test --manifest-path rust/Cargo.toml --lib (677 passed)
- ulimit -v 41943040; CARGO_BUILD_JOBS=1 cargo clippy --manifest-path rust/Cargo.toml --all-targets -- -D warnings
- ulimit -v 41943040; make -B -C programs -j1 zstd
- ulimit -v 41943040; make -C tests -j1 test-zstream ZSTREAM_TESTTIME=-T1s (84 tests and both short fuzzer rounds)
2026-07-19 17:43:45 +02:00
..
2023-01-04 13:01:54 -08:00
2026-07-10 20:32:18 +02:00
2026-07-10 20:06:25 +02:00
2024-11-26 11:15:39 +01:00
2026-07-10 21:54:23 +02:00
2026-07-18 17:59:49 +02:00
2026-07-10 22:07:27 +02:00
2023-01-12 15:41:08 -08:00
2026-07-10 22:44:39 +02:00
2024-12-20 10:36:56 -08:00
2026-07-11 23:11:57 +02:00
2023-01-04 13:01:54 -08:00
2026-07-19 17:43:45 +02:00
2024-12-19 16:00:11 -08:00
2026-07-11 08:05:25 +02:00
2025-01-07 10:06:08 -08:00
2026-07-10 22:46:15 +02:00
2025-01-07 10:06:08 -08:00
2026-07-11 08:06:30 +02:00
2025-01-07 10:06:08 -08:00
2023-01-04 13:01:54 -08:00
2026-07-18 15:39:37 +02:00
2025-01-07 10:06:08 -08:00
2026-07-12 09:51:45 +02:00
2025-01-07 10:06:08 -08:00
2026-07-10 21:28:56 +02:00
2024-12-19 16:00:11 -08:00
2026-07-19 09:43:28 +02:00
2026-07-18 01:40:18 +02:00