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.
This commit is contained in:
parent
5d81f71e83
commit
5da9bbc38e
@ -359,10 +359,10 @@ static U32 ZSTD_insertAndFindFirstIndexHash3 (ZSTD_matchState_t* ms, const BYTE*
|
|||||||
/** ZSTD_insertBt1() : add one or multiple positions to tree.
|
/** ZSTD_insertBt1() : add one or multiple positions to tree.
|
||||||
* ip : assumed <= iend-8 .
|
* ip : assumed <= iend-8 .
|
||||||
* @return : nb of positions added */
|
* @return : nb of positions added */
|
||||||
FORCE_INLINE_TEMPLATE U32 ZSTD_insertBt1(
|
static U32 ZSTD_insertBt1(
|
||||||
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
ZSTD_matchState_t* ms, ZSTD_compressionParameters const* cParams,
|
||||||
const BYTE* const ip, const BYTE* const iend,
|
const BYTE* const ip, const BYTE* const iend,
|
||||||
U32 const mls, const ZSTD_dictMode_e dictMode)
|
U32 const mls, const int extDict)
|
||||||
{
|
{
|
||||||
U32* const hashTable = ms->hashTable;
|
U32* const hashTable = ms->hashTable;
|
||||||
U32 const hashLog = cParams->hashLog;
|
U32 const hashLog = cParams->hashLog;
|
||||||
@ -426,7 +426,7 @@ FORCE_INLINE_TEMPLATE U32 ZSTD_insertBt1(
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((dictMode == ZSTD_noDict) || (dictMode == ZSTD_dictMatchState) || (matchIndex+matchLength >= dictLimit)) {
|
if (!extDict || (matchIndex+matchLength >= dictLimit)) {
|
||||||
assert(matchIndex+matchLength >= dictLimit); /* might be wrong if actually extDict */
|
assert(matchIndex+matchLength >= dictLimit); /* might be wrong if actually extDict */
|
||||||
match = base + matchIndex;
|
match = base + matchIndex;
|
||||||
matchLength += ZSTD_count(ip+matchLength, match+matchLength, iend);
|
matchLength += ZSTD_count(ip+matchLength, match+matchLength, iend);
|
||||||
@ -482,7 +482,7 @@ void ZSTD_updateTree_internal(
|
|||||||
idx, target, dictMode);
|
idx, target, dictMode);
|
||||||
|
|
||||||
while(idx < target)
|
while(idx < target)
|
||||||
idx += ZSTD_insertBt1(ms, cParams, base+idx, iend, mls, dictMode);
|
idx += ZSTD_insertBt1(ms, cParams, base+idx, iend, mls, dictMode == ZSTD_extDict);
|
||||||
ms->nextToUpdate = target;
|
ms->nextToUpdate = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user