W. Felix Handte
b8235be865
Avoid Searching Dictionary in ZSTD_btlazy2 When an Optimal Match is Found
...
Bailing here is important to avoid reading past the end of the input buffer.
2018-10-08 15:59:32 -07:00
W. Felix Handte
d121b3451c
Clean Up Debug Log Statements
2018-10-08 15:59:32 -07:00
W. Felix Handte
08da9ad316
Remove Unused Variable
2018-10-08 15:59:32 -07:00
W. Felix Handte
5b296869df
Revert Ability to Set HashLog and ChainLog on Context When Dict is Attached
...
This capability is not needed / used in the current unit of work. I'll
re-introduce it later, when we start allowing users to override the deduced
working context logs.
2018-10-01 13:28:13 -07:00
W. Felix Handte
c2369fedc4
Restore Passing CParams to ZSTD_insertAndFindFirstIndex_internal
2018-09-28 17:12:54 -07:00
W. Felix Handte
bad74c4781
Use Working Ctx Logs when not in DMS Mode
...
We pre-hash the ptr for the dict match state sometimes. When that actually
happens, a hashlog of 0 can produce undefined behavior (right shift a long
long by 64). Only applies to unoptimized compilations, since when
optimizations are applied, those hash operations are dropped when we're not
actually in dms mode.
2018-09-28 17:12:54 -07:00
W. Felix Handte
c38acff94f
When Attaching Dictionary, Size Working Tables Based on Input Size Only
2018-09-28 17:12:54 -07:00
W. Felix Handte
9d87d50878
Remove Log Overriding for the Time Being
2018-09-28 17:12:54 -07:00
W. Felix Handte
77fd17d93f
Remove Strategy-Dependency in Making Attachment Decision
2018-09-28 17:12:54 -07:00
W. Felix Handte
00c088b32d
Support Split Logs in ZSTD_btopt..ZSTD_btultra
2018-09-28 17:12:54 -07:00
W. Felix Handte
0783492178
Bump Split Log Support to ZSTD_btultra
2018-09-28 17:12:54 -07:00
W. Felix Handte
e4ac4a0f16
Support Split Logs in ZSTD_greedy..ZSTD_btlazy2
2018-09-28 17:12:54 -07:00
W. Felix Handte
e710dc3369
Bump Split Log Support to ZSTD_btlazy2
2018-09-28 17:12:54 -07:00
W. Felix Handte
22fcb8d4c7
Support Split Logs in ZSTD_dfast
2018-09-28 17:12:54 -07:00
W. Felix Handte
a232b3bb7c
Bump Split Log Support to ZSTD_dfast
2018-09-28 17:12:54 -07:00
W. Felix Handte
fe96e98f81
Support a Separate Hash Log in ZSTD_fast
2018-09-28 17:12:54 -07:00
W. Felix Handte
bc880ebe8f
Stop Passing in hashLog and stepSize to ZSTD_compressBlock_fast_generic
2018-09-28 17:12:54 -07:00
W. Felix Handte
b3107c7799
Temporary Commit to Retain Requested Hash and Chain Logs During Dict Attach
2018-09-28 17:12:54 -07:00
W. Felix Handte
34e0193129
Allow Setting Hash and Chain Logs on Contexts with Attached CDict
2018-09-28 17:12:54 -07:00
W. Felix Handte
eae8232f50
For Supported Strategies, Attach Dict Even When Params Don't Match
2018-09-28 17:12:54 -07:00
W. Felix Handte
01ff945eae
Split Attach and Copy Reset Strategies into Separate Implementation Functions
2018-09-28 17:12:54 -07:00
W. Felix Handte
a6d6bbeae1
Pull Attachment Decision into Separate Function
2018-09-28 17:12:54 -07:00
W. Felix Handte
b7fba599ae
And Then Avoid the Unused Parameter Warning
2018-09-28 17:12:54 -07:00
W. Felix Handte
1f188ae655
Move Asserts into Function to Avoid Unused Function Warning
2018-09-28 17:12:54 -07:00
W. Felix Handte
7212b5e5c2
Move Match State CParams Setting into resetCCtx and continueCCtx
2018-09-28 17:12:54 -07:00
W. Felix Handte
01e34d365b
Strengthen Assertion to Assert Equality
2018-09-28 17:12:53 -07:00
W. Felix Handte
50cc1cf4d5
Remove CParams Arg from ZSTD_ldm_blockCompress
2018-09-28 17:12:53 -07:00
W. Felix Handte
14764de49f
Stop Separately Passing CParams in ZSTD_lazy Internal Functions
2018-09-28 17:12:53 -07:00
W. Felix Handte
97149f22c3
Stop Separately Passing CParams in ZSTD_opt Internal Functions
2018-09-28 17:10:42 -07:00
W. Felix Handte
dcdf437fed
Also Remove CParams from Table Filling Functions' Args
2018-09-28 17:10:42 -07:00
W. Felix Handte
3483f89101
Also Assert Equivalency When Filling MatchState with Prefix
2018-09-28 17:10:42 -07:00
W. Felix Handte
6cb2454646
Remove CParams from Block Compressor Functions' Args
2018-09-28 17:10:42 -07:00
W. Felix Handte
03103269de
Assert ctx and ms cparams Equivalency
2018-09-28 17:10:42 -07:00
W. Felix Handte
4e3ecee9ed
Remove cParams from CDict
2018-09-28 17:10:42 -07:00
W. Felix Handte
76ef87ed9d
Add ZSTD_compressionParameters to ZSTD_matchState_t
2018-09-28 17:10:42 -07:00
W. Felix Handte
b76c888497
ZSTD_dfast: Don't Search Dict Context When Mismatch Was Found
2018-09-14 15:24:25 -07:00
W. Felix Handte
b048af5999
ZSTD_fast: Don't Search Dict Context When Mismatch Was Found
2018-09-14 15:23:35 -07:00
W. Felix Handte
37f17ee237
Mark Repeated Offset Table as Needing Check
2018-08-24 14:33:34 -07:00
W. Felix Handte
db4c8d05b3
Add Failing Test
2018-08-24 14:30:21 -07:00
W. Felix Handte
8e944ccade
Regenerate Documentation
2018-08-22 17:07:34 -07:00
W. Felix Handte
e589ac6276
Reformat Introduction Comment and Mention Negative Levels
2018-08-22 17:07:34 -07:00
W. Felix Handte
6518745024
Preserve Commented-Out Longer Tests
2018-08-08 14:09:12 -07:00
W. Felix Handte
0ede1735b0
Remove Old CircleCI Config
2018-08-08 12:33:21 -07:00
W. Felix Handte
4f5e4fe9ed
Fix Path
2018-08-08 12:32:55 -07:00
W. Felix Handte
9deef2c41b
Add an Auto-Gen'ed CircleCI 2.0 Config
...
Built via the cci-config-generator.sh script.
2018-08-08 10:28:22 -07:00
W. Felix Handte
2ca7c69167
Fix CDict Attachment to Handle CDicts with Non-Zero Starts
...
CDicts were previously guaranteed to be generated with `lowLimit=dictLimit=0`.
This is no longer true, and so the old length and index calculations are no
longer valid. This diff fixes them to handle non-zero start indices in CDicts.
2018-08-07 18:14:14 -07:00
W. Felix Handte
e22d024e89
Make One Travis CI Run Run Tests With Non-TTY stdin
2018-06-29 16:31:59 -04:00
W. Felix Handte
8e7bdc18d6
Fix Tests of --list Behavior with stdin
2018-06-29 16:31:22 -04:00
W. Felix Handte
712a9fd972
Allow Invoking zstd --list When stdin is not a tty
...
Also now returns an error when no inputs are given.
New proposed behavior:
```
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l; echo $?
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l <Makefile.zst; echo $?
zstd: --list does not support reading from standard input
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst <Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$
```
2018-06-29 15:33:44 -04:00
W. Felix Handte
71d27aaafb
Consolidate Fast-Running Travis Jobs
2018-06-27 19:25:39 -04:00
W. Felix Handte
a02ecffb7a
Also Run test-pool Target in Travis
2018-06-27 19:24:11 -04:00
W. Felix Handte
c10561c752
poolTests.c: Fix Interval Var Type
2018-06-27 19:15:38 -04:00
W. Felix Handte
01bb1c1016
Add CCtx Param Controlling Dict Attachment Behavior
2018-06-21 17:29:25 -04:00
W. Felix Handte
3e91dc4d6a
Add Repcode Bounds Check
2018-06-21 15:54:41 -04:00
W. Felix Handte
5bd3d4b7d2
Add Debug Log Statement
2018-06-21 15:54:07 -04:00
W. Felix Handte
3caba150c6
Fix dmsBtLow Test
2018-06-21 15:53:40 -04:00
W. Felix Handte
5da9bbc38e
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.
2018-06-21 11:20:01 -04:00
W. Felix Handte
5d81f71e83
Consistency in Guarding DMS-Only Variable Initializations
2018-06-20 16:54:53 -04:00
W. Felix Handte
9c14eafe3d
Also Use matchLow for HC3 Match
2018-06-20 15:51:14 -04:00
W. Felix Handte
0a6cf7cd1d
Minor Changes
2018-06-20 15:27:23 -04:00
W. Felix Handte
ae1f3898a2
Remove Dead(!) HC3 DMS Lookup
2018-06-20 15:27:12 -04:00
W. Felix Handte
03c39c540b
Fix Incorrect Param
2018-06-19 15:36:33 -04:00
W. Felix Handte
de639502aa
Update Dict Attachment Cut-Offs
2018-06-19 15:36:13 -04:00
W. Felix Handte
f0a13bcd68
Make Sure Position 0 Gets Into the Tree
2018-06-19 15:10:06 -04:00
W. Felix Handte
87fe4788a3
Fix Compression Ratio Regression #1
2018-06-19 13:01:21 -04:00
W. Felix Handte
4bb79f9c55
Misc Changes
2018-06-19 13:01:21 -04:00
W. Felix Handte
2091f34e9e
Find Proper Matches
2018-06-19 13:01:21 -04:00
W. Felix Handte
64348a15f1
Misc Fixes
2018-06-19 13:01:21 -04:00
W. Felix Handte
ade8586ce6
Find mls == 3 Matches
2018-06-19 13:01:21 -04:00
W. Felix Handte
ce743312e2
Fix Typo
2018-06-19 13:01:21 -04:00
W. Felix Handte
a075864756
Switch != ZSTD_extDict to == ZSTD_noDict
2018-06-19 13:01:21 -04:00
W. Felix Handte
1e03377bde
Implement RepCode Check
2018-06-19 13:01:21 -04:00
W. Felix Handte
ccbf067973
Add _dictMatchState Functions
2018-06-19 13:01:21 -04:00
W. Felix Handte
d5d8240967
Convert extDict Flag to dictMode Enum
2018-06-19 13:01:21 -04:00
W. Felix Handte
93c3184d44
Attach Dicts when Using ZSTD_btopt and ZSTD_btultra
2018-06-19 13:01:21 -04:00
W. Felix Handte
0c654d22c8
Force Inline BtFindBestMatch
2018-06-14 14:54:39 -04:00
W. Felix Handte
0551de4b5a
Search Dict for Matches
2018-06-13 16:06:28 -04:00
W. Felix Handte
ace9cfa950
Attach Dicts when Using ZSTD_btlazy2
2018-06-13 16:06:28 -04:00
W. Felix Handte
d53200a846
Fix Cast Warning
2018-06-13 14:58:36 -04:00
W. Felix Handte
b82063b266
Extend Dictionary Matches Backwards
2018-06-13 14:58:36 -04:00
W. Felix Handte
d53a04211c
Update Dictionary Attachment Cutoff Values Again
2018-06-13 14:58:36 -04:00
W. Felix Handte
2162aa9f18
Do Not Inline DMS Search Function
2018-06-13 14:58:36 -04:00
W. Felix Handte
338bede9b5
Also Implement Depth Repcode Checks
2018-06-13 14:58:36 -04:00
W. Felix Handte
555ab9f8cf
Apply Match Continuation Bug Fix
2018-06-13 14:58:36 -04:00
W. Felix Handte
c87dd2121d
Update Dictionary Attachment Cutoff Values
2018-06-13 14:58:36 -04:00
W. Felix Handte
6204b6d592
Check Dict Match State in ZSTD_HcFindBestMatch_generic
2018-06-13 14:58:36 -04:00
W. Felix Handte
211a61b69b
Focus on Non-BT Impls for the Moment
2018-06-13 14:58:36 -04:00
W. Felix Handte
2e93736a77
Remove Pre-Existing Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
3b82a23a35
Second Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
a2a24bebec
First Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
f74c2cd673
Disallow Too-Long Repcodes When Using an Attached Dict
2018-06-13 14:58:36 -04:00
W. Felix Handte
c14db94450
Rename base -> prefixLowest
2018-06-13 14:58:36 -04:00
W. Felix Handte
5d90708a0a
Go Back to Separate Intermediate Functions for Different Dict Modes
2018-06-13 14:58:36 -04:00
W. Felix Handte
f84fc63a43
Further Templatize Intermediate Functions on dictMode
2018-06-13 14:58:36 -04:00
W. Felix Handte
529d3a5acd
Convert Existing U32 extDict Vars to ZSTD_dictMode Enums
2018-06-13 14:58:36 -04:00
W. Felix Handte
33e2240fac
Attach Dict When Using ZSTD_lazy Strategies
2018-06-13 14:58:36 -04:00
W. Felix Handte
90cfc799e5
Add _dictMatchState Stubs for ZSTD_lazy Functions
2018-06-13 14:58:36 -04:00
W. Felix Handte
a85ecb32bd
Add dictMode Param to ZSTD_compressBlock_lazy_generic
2018-06-13 14:58:36 -04:00
W. Felix Handte
48deab92de
Allow Different Dict Attachment Cut-Offs for Different Strategies
2018-05-31 17:37:44 -04:00
W. Felix Handte
f86796639e
Remove Incorrect and Extraneous Repcode Bounds Check
2018-05-31 17:02:29 -04:00