Also Remove CParams from Table Filling Functions' Args
This commit is contained in:
@@ -2695,7 +2695,6 @@ static size_t ZSTD_loadDictionaryContent(ZSTD_matchState_t* ms,
|
|||||||
{
|
{
|
||||||
const BYTE* const ip = (const BYTE*) src;
|
const BYTE* const ip = (const BYTE*) src;
|
||||||
const BYTE* const iend = ip + srcSize;
|
const BYTE* const iend = ip + srcSize;
|
||||||
ZSTD_compressionParameters const* cParams = ¶ms->cParams;
|
|
||||||
|
|
||||||
ZSTD_window_update(&ms->window, src, srcSize);
|
ZSTD_window_update(&ms->window, src, srcSize);
|
||||||
ms->loadedDictEnd = params->forceWindow ? 0 : (U32)(iend - ms->window.base);
|
ms->loadedDictEnd = params->forceWindow ? 0 : (U32)(iend - ms->window.base);
|
||||||
@@ -2708,24 +2707,24 @@ static size_t ZSTD_loadDictionaryContent(ZSTD_matchState_t* ms,
|
|||||||
switch(params->cParams.strategy)
|
switch(params->cParams.strategy)
|
||||||
{
|
{
|
||||||
case ZSTD_fast:
|
case ZSTD_fast:
|
||||||
ZSTD_fillHashTable(ms, cParams, iend, dtlm);
|
ZSTD_fillHashTable(ms, iend, dtlm);
|
||||||
break;
|
break;
|
||||||
case ZSTD_dfast:
|
case ZSTD_dfast:
|
||||||
ZSTD_fillDoubleHashTable(ms, cParams, iend, dtlm);
|
ZSTD_fillDoubleHashTable(ms, iend, dtlm);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZSTD_greedy:
|
case ZSTD_greedy:
|
||||||
case ZSTD_lazy:
|
case ZSTD_lazy:
|
||||||
case ZSTD_lazy2:
|
case ZSTD_lazy2:
|
||||||
if (srcSize >= HASH_READ_SIZE)
|
if (srcSize >= HASH_READ_SIZE)
|
||||||
ZSTD_insertAndFindFirstIndex(ms, cParams, iend-HASH_READ_SIZE);
|
ZSTD_insertAndFindFirstIndex(ms, iend-HASH_READ_SIZE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZSTD_btlazy2: /* we want the dictionary table fully sorted */
|
case ZSTD_btlazy2: /* we want the dictionary table fully sorted */
|
||||||
case ZSTD_btopt:
|
case ZSTD_btopt:
|
||||||
case ZSTD_btultra:
|
case ZSTD_btultra:
|
||||||
if (srcSize >= HASH_READ_SIZE)
|
if (srcSize >= HASH_READ_SIZE)
|
||||||
ZSTD_updateTree(ms, cParams, iend-HASH_READ_SIZE, iend);
|
ZSTD_updateTree(ms, iend-HASH_READ_SIZE, iend);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
|
|
||||||
|
|
||||||
void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
|
void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
|
||||||
ZSTD_compressionParameters const* cParams,
|
|
||||||
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
|
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
|
||||||
{
|
{
|
||||||
|
const ZSTD_compressionParameters* const cParams = &ms->cParams;
|
||||||
U32* const hashLarge = ms->hashTable;
|
U32* const hashLarge = ms->hashTable;
|
||||||
U32 const hBitsL = cParams->hashLog;
|
U32 const hBitsL = cParams->hashLog;
|
||||||
U32 const mls = cParams->searchLength;
|
U32 const mls = cParams->searchLength;
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ extern "C" {
|
|||||||
#include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
|
#include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
|
||||||
|
|
||||||
void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
|
void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
|
||||||
ZSTD_compressionParameters const* cParams,
|
|
||||||
void const* end, ZSTD_dictTableLoadMethod_e dtlm);
|
void const* end, ZSTD_dictTableLoadMethod_e dtlm);
|
||||||
size_t ZSTD_compressBlock_doubleFast(
|
size_t ZSTD_compressBlock_doubleFast(
|
||||||
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
|
|
||||||
|
|
||||||
void ZSTD_fillHashTable(ZSTD_matchState_t* ms,
|
void ZSTD_fillHashTable(ZSTD_matchState_t* ms,
|
||||||
ZSTD_compressionParameters const* cParams,
|
|
||||||
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
|
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
|
||||||
{
|
{
|
||||||
|
const ZSTD_compressionParameters* const cParams = &ms->cParams;
|
||||||
U32* const hashTable = ms->hashTable;
|
U32* const hashTable = ms->hashTable;
|
||||||
U32 const hBits = cParams->hashLog;
|
U32 const hBits = cParams->hashLog;
|
||||||
U32 const mls = cParams->searchLength;
|
U32 const mls = cParams->searchLength;
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ extern "C" {
|
|||||||
#include "zstd_compress_internal.h"
|
#include "zstd_compress_internal.h"
|
||||||
|
|
||||||
void ZSTD_fillHashTable(ZSTD_matchState_t* ms,
|
void ZSTD_fillHashTable(ZSTD_matchState_t* ms,
|
||||||
ZSTD_compressionParameters const* cParams,
|
|
||||||
void const* end, ZSTD_dictTableLoadMethod_e dtlm);
|
void const* end, ZSTD_dictTableLoadMethod_e dtlm);
|
||||||
size_t ZSTD_compressBlock_fast(
|
size_t ZSTD_compressBlock_fast(
|
||||||
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
||||||
|
|||||||
@@ -427,9 +427,10 @@ static size_t ZSTD_BtFindBestMatch_extDict_selectMLS (
|
|||||||
/* Update chains up to ip (excluded)
|
/* Update chains up to ip (excluded)
|
||||||
Assumption : always within prefix (i.e. not within extDict) */
|
Assumption : always within prefix (i.e. not within extDict) */
|
||||||
static U32 ZSTD_insertAndFindFirstIndex_internal(
|
static U32 ZSTD_insertAndFindFirstIndex_internal(
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
ZSTD_matchState_t* ms,
|
||||||
const BYTE* ip, U32 const mls)
|
const BYTE* ip, U32 const mls)
|
||||||
{
|
{
|
||||||
|
const ZSTD_compressionParameters* const cParams = &ms->cParams;
|
||||||
U32* const hashTable = ms->hashTable;
|
U32* const hashTable = ms->hashTable;
|
||||||
const U32 hashLog = cParams->hashLog;
|
const U32 hashLog = cParams->hashLog;
|
||||||
U32* const chainTable = ms->chainTable;
|
U32* const chainTable = ms->chainTable;
|
||||||
@@ -449,11 +450,8 @@ static U32 ZSTD_insertAndFindFirstIndex_internal(
|
|||||||
return hashTable[ZSTD_hashPtr(ip, hashLog, mls)];
|
return hashTable[ZSTD_hashPtr(ip, hashLog, mls)];
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 ZSTD_insertAndFindFirstIndex(
|
U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip) {
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
return ZSTD_insertAndFindFirstIndex_internal(ms, ip, ms->cParams.searchLength);
|
||||||
const BYTE* ip)
|
|
||||||
{
|
|
||||||
return ZSTD_insertAndFindFirstIndex_internal(ms, cParams, ip, cParams->searchLength);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -480,7 +478,7 @@ size_t ZSTD_HcFindBestMatch_generic (
|
|||||||
size_t ml=4-1;
|
size_t ml=4-1;
|
||||||
|
|
||||||
/* HC4 match finder */
|
/* HC4 match finder */
|
||||||
U32 matchIndex = ZSTD_insertAndFindFirstIndex_internal(ms, cParams, ip, mls);
|
U32 matchIndex = ZSTD_insertAndFindFirstIndex_internal(ms, ip, mls);
|
||||||
|
|
||||||
for ( ; (matchIndex>lowLimit) & (nbAttempts>0) ; nbAttempts--) {
|
for ( ; (matchIndex>lowLimit) & (nbAttempts>0) ; nbAttempts--) {
|
||||||
size_t currentMl=0;
|
size_t currentMl=0;
|
||||||
|
|||||||
@@ -17,9 +17,7 @@ extern "C" {
|
|||||||
|
|
||||||
#include "zstd_compress_internal.h"
|
#include "zstd_compress_internal.h"
|
||||||
|
|
||||||
U32 ZSTD_insertAndFindFirstIndex(
|
U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip);
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
|
||||||
const BYTE* ip);
|
|
||||||
|
|
||||||
void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). pre-emptively increase value of ZSTD_DUBT_UNSORTED_MARK */
|
void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). pre-emptively increase value of ZSTD_DUBT_UNSORTED_MARK */
|
||||||
|
|
||||||
|
|||||||
@@ -218,19 +218,18 @@ static size_t ZSTD_ldm_countBackwardsMatch(
|
|||||||
* The tables for the other strategies are filled within their
|
* The tables for the other strategies are filled within their
|
||||||
* block compressors. */
|
* block compressors. */
|
||||||
static size_t ZSTD_ldm_fillFastTables(ZSTD_matchState_t* ms,
|
static size_t ZSTD_ldm_fillFastTables(ZSTD_matchState_t* ms,
|
||||||
ZSTD_compressionParameters const* cParams,
|
|
||||||
void const* end)
|
void const* end)
|
||||||
{
|
{
|
||||||
const BYTE* const iend = (const BYTE*)end;
|
const BYTE* const iend = (const BYTE*)end;
|
||||||
|
|
||||||
switch(cParams->strategy)
|
switch(ms->cParams.strategy)
|
||||||
{
|
{
|
||||||
case ZSTD_fast:
|
case ZSTD_fast:
|
||||||
ZSTD_fillHashTable(ms, cParams, iend, ZSTD_dtlm_fast);
|
ZSTD_fillHashTable(ms, iend, ZSTD_dtlm_fast);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZSTD_dfast:
|
case ZSTD_dfast:
|
||||||
ZSTD_fillDoubleHashTable(ms, cParams, iend, ZSTD_dtlm_fast);
|
ZSTD_fillDoubleHashTable(ms, iend, ZSTD_dtlm_fast);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZSTD_greedy:
|
case ZSTD_greedy:
|
||||||
@@ -620,7 +619,7 @@ size_t ZSTD_ldm_blockCompress(rawSeqStore_t* rawSeqStore,
|
|||||||
|
|
||||||
/* Fill tables for block compressor */
|
/* Fill tables for block compressor */
|
||||||
ZSTD_ldm_limitTableUpdate(ms, ip);
|
ZSTD_ldm_limitTableUpdate(ms, ip);
|
||||||
ZSTD_ldm_fillFastTables(ms, cParams, ip);
|
ZSTD_ldm_fillFastTables(ms, ip);
|
||||||
/* Run the block compressor */
|
/* Run the block compressor */
|
||||||
DEBUGLOG(5, "calling block compressor on segment of size %u", sequence.litLength);
|
DEBUGLOG(5, "calling block compressor on segment of size %u", sequence.litLength);
|
||||||
{
|
{
|
||||||
@@ -641,7 +640,7 @@ size_t ZSTD_ldm_blockCompress(rawSeqStore_t* rawSeqStore,
|
|||||||
}
|
}
|
||||||
/* Fill the tables for the block compressor */
|
/* Fill the tables for the block compressor */
|
||||||
ZSTD_ldm_limitTableUpdate(ms, ip);
|
ZSTD_ldm_limitTableUpdate(ms, ip);
|
||||||
ZSTD_ldm_fillFastTables(ms, cParams, ip);
|
ZSTD_ldm_fillFastTables(ms, ip);
|
||||||
/* Compress the last literals */
|
/* Compress the last literals */
|
||||||
return blockCompressor(ms, seqStore, rep,
|
return blockCompressor(ms, seqStore, rep,
|
||||||
ip, iend - ip);
|
ip, iend - ip);
|
||||||
|
|||||||
@@ -471,10 +471,11 @@ static U32 ZSTD_insertBt1(
|
|||||||
|
|
||||||
FORCE_INLINE_TEMPLATE
|
FORCE_INLINE_TEMPLATE
|
||||||
void ZSTD_updateTree_internal(
|
void ZSTD_updateTree_internal(
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
ZSTD_matchState_t* ms,
|
||||||
const BYTE* const ip, const BYTE* const iend,
|
const BYTE* const ip, const BYTE* const iend,
|
||||||
const U32 mls, const ZSTD_dictMode_e dictMode)
|
const U32 mls, const ZSTD_dictMode_e dictMode)
|
||||||
{
|
{
|
||||||
|
const ZSTD_compressionParameters* const cParams = &ms->cParams;
|
||||||
const BYTE* const base = ms->window.base;
|
const BYTE* const base = ms->window.base;
|
||||||
U32 const target = (U32)(ip - base);
|
U32 const target = (U32)(ip - base);
|
||||||
U32 idx = ms->nextToUpdate;
|
U32 idx = ms->nextToUpdate;
|
||||||
@@ -486,11 +487,8 @@ void ZSTD_updateTree_internal(
|
|||||||
ms->nextToUpdate = target;
|
ms->nextToUpdate = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZSTD_updateTree(
|
void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend) {
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
ZSTD_updateTree_internal(ms, ip, iend, ms->cParams.searchLength, ZSTD_noDict);
|
||||||
const BYTE* ip, const BYTE* iend)
|
|
||||||
{
|
|
||||||
ZSTD_updateTree_internal(ms, cParams, ip, iend, cParams->searchLength, ZSTD_noDict);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE_INLINE_TEMPLATE
|
FORCE_INLINE_TEMPLATE
|
||||||
@@ -721,7 +719,7 @@ FORCE_INLINE_TEMPLATE U32 ZSTD_BtGetAllMatches (
|
|||||||
U32 const matchLengthSearch = cParams->searchLength;
|
U32 const matchLengthSearch = cParams->searchLength;
|
||||||
DEBUGLOG(8, "ZSTD_BtGetAllMatches");
|
DEBUGLOG(8, "ZSTD_BtGetAllMatches");
|
||||||
if (ip < ms->window.base + ms->nextToUpdate) return 0; /* skipped area */
|
if (ip < ms->window.base + ms->nextToUpdate) return 0; /* skipped area */
|
||||||
ZSTD_updateTree_internal(ms, cParams, ip, iHighLimit, matchLengthSearch, dictMode);
|
ZSTD_updateTree_internal(ms, ip, iHighLimit, matchLengthSearch, dictMode);
|
||||||
switch(matchLengthSearch)
|
switch(matchLengthSearch)
|
||||||
{
|
{
|
||||||
case 3 : return ZSTD_insertBtAndGetAllMatches(ms, cParams, ip, iHighLimit, dictMode, rep, ll0, matches, lengthToBeat, 3);
|
case 3 : return ZSTD_insertBtAndGetAllMatches(ms, cParams, ip, iHighLimit, dictMode, rep, ll0, matches, lengthToBeat, 3);
|
||||||
|
|||||||
@@ -17,9 +17,8 @@ extern "C" {
|
|||||||
|
|
||||||
#include "zstd_compress_internal.h"
|
#include "zstd_compress_internal.h"
|
||||||
|
|
||||||
void ZSTD_updateTree(
|
/* used in ZSTD_loadDictionaryContent() */
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
|
||||||
const BYTE* ip, const BYTE* iend); /* used in ZSTD_loadDictionaryContent() */
|
|
||||||
|
|
||||||
size_t ZSTD_compressBlock_btopt(
|
size_t ZSTD_compressBlock_btopt(
|
||||||
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
||||||
|
|||||||
Reference in New Issue
Block a user