Lines Matching full:const
31 const BYTE* ip, const BYTE* iend, in ZSTD_updateDUBT()
34 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_updateDUBT()
35 U32* const hashTable = ms->hashTable; in ZSTD_updateDUBT()
36 U32 const hashLog = cParams->hashLog; in ZSTD_updateDUBT()
38 U32* const bt = ms->chainTable; in ZSTD_updateDUBT()
39 U32 const btLog = cParams->chainLog - 1; in ZSTD_updateDUBT()
40 U32 const btMask = (1 << btLog) - 1; in ZSTD_updateDUBT()
42 const BYTE* const base = ms->window.base; in ZSTD_updateDUBT()
43 U32 const target = (U32)(ip - base); in ZSTD_updateDUBT()
54 … size_t const h = ZSTD_hashPtr(base + idx, hashLog, mls); /* assumption : ip + 8 <= iend */ in ZSTD_updateDUBT()
55 U32 const matchIndex = hashTable[h]; in ZSTD_updateDUBT()
57 U32* const nextCandidatePtr = bt + 2*(idx&btMask); in ZSTD_updateDUBT()
58 U32* const sortMarkPtr = nextCandidatePtr + 1; in ZSTD_updateDUBT()
75 void ZSTD_insertDUBT1(const ZSTD_MatchState_t* ms, in ZSTD_insertDUBT1()
76 U32 curr, const BYTE* inputEnd, in ZSTD_insertDUBT1()
78 const ZSTD_dictMode_e dictMode) in ZSTD_insertDUBT1()
80 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_insertDUBT1()
81 U32* const bt = ms->chainTable; in ZSTD_insertDUBT1()
82 U32 const btLog = cParams->chainLog - 1; in ZSTD_insertDUBT1()
83 U32 const btMask = (1 << btLog) - 1; in ZSTD_insertDUBT1()
85 const BYTE* const base = ms->window.base; in ZSTD_insertDUBT1()
86 const BYTE* const dictBase = ms->window.dictBase; in ZSTD_insertDUBT1()
87 const U32 dictLimit = ms->window.dictLimit; in ZSTD_insertDUBT1()
88 const BYTE* const ip = (curr>=dictLimit) ? base + curr : dictBase + curr; in ZSTD_insertDUBT1()
89 const BYTE* const iend = (curr>=dictLimit) ? inputEnd : dictBase + dictLimit; in ZSTD_insertDUBT1()
90 const BYTE* const dictEnd = dictBase + dictLimit; in ZSTD_insertDUBT1()
91 const BYTE* const prefixStart = base + dictLimit; in ZSTD_insertDUBT1()
92 const BYTE* match; in ZSTD_insertDUBT1()
97 U32 const windowValid = ms->window.lowLimit; in ZSTD_insertDUBT1()
98 U32 const maxDistance = 1U << cParams->windowLog; in ZSTD_insertDUBT1()
99 U32 const windowLow = (curr - windowValid > maxDistance) ? curr - maxDistance : windowValid; in ZSTD_insertDUBT1()
108 U32* const nextPtr = bt + 2*(matchIndex & btMask); in ZSTD_insertDUBT1()
118 const BYTE* const mBase = ( (dictMode != ZSTD_extDict) in ZSTD_insertDUBT1()
166 const ZSTD_MatchState_t* ms, in ZSTD_DUBT_findBetterDictMatch()
167 const BYTE* const ip, const BYTE* const iend, in ZSTD_DUBT_findBetterDictMatch()
171 U32 const mls, in ZSTD_DUBT_findBetterDictMatch()
172 const ZSTD_dictMode_e dictMode) in ZSTD_DUBT_findBetterDictMatch()
174 const ZSTD_MatchState_t * const dms = ms->dictMatchState; in ZSTD_DUBT_findBetterDictMatch()
175 const ZSTD_compressionParameters* const dmsCParams = &dms->cParams; in ZSTD_DUBT_findBetterDictMatch()
176 const U32 * const dictHashTable = dms->hashTable; in ZSTD_DUBT_findBetterDictMatch()
177 U32 const hashLog = dmsCParams->hashLog; in ZSTD_DUBT_findBetterDictMatch()
178 size_t const h = ZSTD_hashPtr(ip, hashLog, mls); in ZSTD_DUBT_findBetterDictMatch()
181 const BYTE* const base = ms->window.base; in ZSTD_DUBT_findBetterDictMatch()
182 const BYTE* const prefixStart = base + ms->window.dictLimit; in ZSTD_DUBT_findBetterDictMatch()
183 U32 const curr = (U32)(ip-base); in ZSTD_DUBT_findBetterDictMatch()
184 const BYTE* const dictBase = dms->window.base; in ZSTD_DUBT_findBetterDictMatch()
185 const BYTE* const dictEnd = dms->window.nextSrc; in ZSTD_DUBT_findBetterDictMatch()
186 U32 const dictHighLimit = (U32)(dms->window.nextSrc - dms->window.base); in ZSTD_DUBT_findBetterDictMatch()
187 U32 const dictLowLimit = dms->window.lowLimit; in ZSTD_DUBT_findBetterDictMatch()
188 U32 const dictIndexDelta = ms->window.lowLimit - dictHighLimit; in ZSTD_DUBT_findBetterDictMatch()
190 U32* const dictBt = dms->chainTable; in ZSTD_DUBT_findBetterDictMatch()
191 U32 const btLog = dmsCParams->chainLog - 1; in ZSTD_DUBT_findBetterDictMatch()
192 U32 const btMask = (1 << btLog) - 1; in ZSTD_DUBT_findBetterDictMatch()
193 …U32 const btLow = (btMask >= dictHighLimit - dictLowLimit) ? dictLowLimit : dictHighLimit … in ZSTD_DUBT_findBetterDictMatch()
201 U32* const nextPtr = dictBt + 2*(dictMatchIndex & btMask); in ZSTD_DUBT_findBetterDictMatch()
203 const BYTE* match = dictBase + dictMatchIndex; in ZSTD_DUBT_findBetterDictMatch()
233 U32 const mIndex = curr - (U32)OFFBASE_TO_OFFSET(*offsetPtr); (void)mIndex; in ZSTD_DUBT_findBetterDictMatch()
245 const BYTE* const ip, const BYTE* const iend, in ZSTD_DUBT_findBestMatch()
247 U32 const mls, in ZSTD_DUBT_findBestMatch()
248 const ZSTD_dictMode_e dictMode) in ZSTD_DUBT_findBestMatch()
250 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_DUBT_findBestMatch()
251 U32* const hashTable = ms->hashTable; in ZSTD_DUBT_findBestMatch()
252 U32 const hashLog = cParams->hashLog; in ZSTD_DUBT_findBestMatch()
253 size_t const h = ZSTD_hashPtr(ip, hashLog, mls); in ZSTD_DUBT_findBestMatch()
256 const BYTE* const base = ms->window.base; in ZSTD_DUBT_findBestMatch()
257 U32 const curr = (U32)(ip-base); in ZSTD_DUBT_findBestMatch()
258 U32 const windowLow = ZSTD_getLowestMatchIndex(ms, curr, cParams->windowLog); in ZSTD_DUBT_findBestMatch()
260 U32* const bt = ms->chainTable; in ZSTD_DUBT_findBestMatch()
261 U32 const btLog = cParams->chainLog - 1; in ZSTD_DUBT_findBestMatch()
262 U32 const btMask = (1 << btLog) - 1; in ZSTD_DUBT_findBestMatch()
263 U32 const btLow = (btMask >= curr) ? 0 : curr - btMask; in ZSTD_DUBT_findBestMatch()
264 U32 const unsortLimit = MAX(btLow, windowLow); in ZSTD_DUBT_findBestMatch()
302 U32* const nextCandidateIdxPtr = bt + 2*(matchIndex&btMask) + 1; in ZSTD_DUBT_findBestMatch()
303 U32 const nextCandidateIdx = *nextCandidateIdxPtr; in ZSTD_DUBT_findBestMatch()
312 const BYTE* const dictBase = ms->window.dictBase; in ZSTD_DUBT_findBestMatch()
313 const U32 dictLimit = ms->window.dictLimit; in ZSTD_DUBT_findBestMatch()
314 const BYTE* const dictEnd = dictBase + dictLimit; in ZSTD_DUBT_findBestMatch()
315 const BYTE* const prefixStart = base + dictLimit; in ZSTD_DUBT_findBestMatch()
326 U32* const nextPtr = bt + 2*(matchIndex & btMask); in ZSTD_DUBT_findBestMatch()
328 const BYTE* match; in ZSTD_DUBT_findBestMatch()
384 U32 const mIndex = curr - (U32)OFFBASE_TO_OFFSET(*offBasePtr); (void)mIndex; in ZSTD_DUBT_findBestMatch()
397 const BYTE* const ip, const BYTE* const iLimit, in ZSTD_BtFindBestMatch()
399 const U32 mls /* template */, in ZSTD_BtFindBestMatch()
400 const ZSTD_dictMode_e dictMode) in ZSTD_BtFindBestMatch()
412 void ZSTD_dedicatedDictSearch_lazy_loadDictionary(ZSTD_MatchState_t* ms, const BYTE* const ip) in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
414 const BYTE* const base = ms->window.base; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
415 U32 const target = (U32)(ip - base); in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
416 U32* const hashTable = ms->hashTable; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
417 U32* const chainTable = ms->chainTable; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
418 U32 const chainSize = 1 << ms->cParams.chainLog; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
420 U32 const minChain = chainSize < target - idx ? target - chainSize : idx; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
421 U32 const bucketSize = 1 << ZSTD_LAZY_DDSS_BUCKET_LOG; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
422 U32 const cacheSize = bucketSize - 1; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
423 U32 const chainAttempts = (1 << ms->cParams.searchLog) - cacheSize; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
424 U32 const chainLimit = chainAttempts > 255 ? 255 : chainAttempts; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
431 U32 const hashLog = ms->cParams.hashLog - ZSTD_LAZY_DDSS_BUCKET_LOG; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
432 U32* const tmpHashTable = hashTable; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
433 U32* const tmpChainTable = hashTable + ((size_t)1 << hashLog); in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
434 U32 const tmpChainSize = (U32)((1 << ZSTD_LAZY_DDSS_BUCKET_LOG) - 1) << hashLog; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
435 U32 const tmpMinChain = tmpChainSize < target ? target - tmpChainSize : idx; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
445 U32 const h = (U32)ZSTD_hashPtr(base + idx, hashLog, ms->cParams.minMatch); in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
503 U32 const bucketIdx = --hashIdx << ZSTD_LAZY_DDSS_BUCKET_LOG; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
504 U32 const chainPackedPointer = tmpHashTable[hashIdx]; in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
514 U32 const h = (U32)ZSTD_hashPtr(base + idx, hashLog, ms->cParams.minMatch) in ZSTD_dedicatedDictSearch_lazy_loadDictionary()
531 const ZSTD_MatchState_t* const dms, in ZSTD_dedicatedDictSearch_lazy_search()
532 const BYTE* const ip, const BYTE* const iLimit, in ZSTD_dedicatedDictSearch_lazy_search()
533 const BYTE* const prefixStart, const U32 curr, in ZSTD_dedicatedDictSearch_lazy_search()
534 const U32 dictLimit, const size_t ddsIdx) { in ZSTD_dedicatedDictSearch_lazy_search()
535 const U32 ddsLowestIndex = dms->window.dictLimit; in ZSTD_dedicatedDictSearch_lazy_search()
536 const BYTE* const ddsBase = dms->window.base; in ZSTD_dedicatedDictSearch_lazy_search()
537 const BYTE* const ddsEnd = dms->window.nextSrc; in ZSTD_dedicatedDictSearch_lazy_search()
538 const U32 ddsSize = (U32)(ddsEnd - ddsBase); in ZSTD_dedicatedDictSearch_lazy_search()
539 const U32 ddsIndexDelta = dictLimit - ddsSize; in ZSTD_dedicatedDictSearch_lazy_search()
540 const U32 bucketSize = (1 << ZSTD_LAZY_DDSS_BUCKET_LOG); in ZSTD_dedicatedDictSearch_lazy_search()
541 const U32 bucketLimit = nbAttempts < bucketSize - 1 ? nbAttempts : bucketSize - 1; in ZSTD_dedicatedDictSearch_lazy_search()
550 U32 const chainPackedPointer = dms->hashTable[ddsIdx + bucketSize - 1]; in ZSTD_dedicatedDictSearch_lazy_search()
551 U32 const chainIndex = chainPackedPointer >> 8; in ZSTD_dedicatedDictSearch_lazy_search()
558 const BYTE* match; in ZSTD_dedicatedDictSearch_lazy_search()
587 U32 const chainPackedPointer = dms->hashTable[ddsIdx + bucketSize - 1]; in ZSTD_dedicatedDictSearch_lazy_search()
589 U32 const chainLength = chainPackedPointer & 0xFF; in ZSTD_dedicatedDictSearch_lazy_search()
590 U32 const chainAttempts = nbAttempts - ddsAttempt; in ZSTD_dedicatedDictSearch_lazy_search()
591 U32 const chainLimit = chainAttempts > chainLength ? chainLength : chainAttempts; in ZSTD_dedicatedDictSearch_lazy_search()
600 const BYTE* match; in ZSTD_dedicatedDictSearch_lazy_search()
635 const ZSTD_compressionParameters* const cParams, in ZSTD_insertAndFindFirstIndex_internal()
636 const BYTE* ip, U32 const mls, U32 const lazySkipping) in ZSTD_insertAndFindFirstIndex_internal()
638 U32* const hashTable = ms->hashTable; in ZSTD_insertAndFindFirstIndex_internal()
639 const U32 hashLog = cParams->hashLog; in ZSTD_insertAndFindFirstIndex_internal()
640 U32* const chainTable = ms->chainTable; in ZSTD_insertAndFindFirstIndex_internal()
641 const U32 chainMask = (1 << cParams->chainLog) - 1; in ZSTD_insertAndFindFirstIndex_internal()
642 const BYTE* const base = ms->window.base; in ZSTD_insertAndFindFirstIndex_internal()
643 const U32 target = (U32)(ip - base); in ZSTD_insertAndFindFirstIndex_internal()
647 size_t const h = ZSTD_hashPtr(base+idx, hashLog, mls); in ZSTD_insertAndFindFirstIndex_internal()
660 U32 ZSTD_insertAndFindFirstIndex(ZSTD_MatchState_t* ms, const BYTE* ip) { in ZSTD_insertAndFindFirstIndex()
661 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_insertAndFindFirstIndex()
670 const BYTE* const ip, const BYTE* const iLimit, in ZSTD_HcFindBestMatch()
672 const U32 mls, const ZSTD_dictMode_e dictMode) in ZSTD_HcFindBestMatch()
674 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_HcFindBestMatch()
675 U32* const chainTable = ms->chainTable; in ZSTD_HcFindBestMatch()
676 const U32 chainSize = (1 << cParams->chainLog); in ZSTD_HcFindBestMatch()
677 const U32 chainMask = chainSize-1; in ZSTD_HcFindBestMatch()
678 const BYTE* const base = ms->window.base; in ZSTD_HcFindBestMatch()
679 const BYTE* const dictBase = ms->window.dictBase; in ZSTD_HcFindBestMatch()
680 const U32 dictLimit = ms->window.dictLimit; in ZSTD_HcFindBestMatch()
681 const BYTE* const prefixStart = base + dictLimit; in ZSTD_HcFindBestMatch()
682 const BYTE* const dictEnd = dictBase + dictLimit; in ZSTD_HcFindBestMatch()
683 const U32 curr = (U32)(ip-base); in ZSTD_HcFindBestMatch()
684 const U32 maxDistance = 1U << cParams->windowLog; in ZSTD_HcFindBestMatch()
685 const U32 lowestValid = ms->window.lowLimit; in ZSTD_HcFindBestMatch()
686 …const U32 withinMaxDistance = (curr - lowestValid > maxDistance) ? curr - maxDistance : lowestVali… in ZSTD_HcFindBestMatch()
687 const U32 isDictionary = (ms->loadedDictEnd != 0); in ZSTD_HcFindBestMatch()
688 const U32 lowLimit = isDictionary ? lowestValid : withinMaxDistance; in ZSTD_HcFindBestMatch()
689 const U32 minChain = curr > chainSize ? curr - chainSize : 0; in ZSTD_HcFindBestMatch()
693 const ZSTD_MatchState_t* const dms = ms->dictMatchState; in ZSTD_HcFindBestMatch()
694 const U32 ddsHashLog = dictMode == ZSTD_dedicatedDictSearch in ZSTD_HcFindBestMatch()
696 const size_t ddsIdx = dictMode == ZSTD_dedicatedDictSearch in ZSTD_HcFindBestMatch()
702 const U32* entry = &dms->hashTable[ddsIdx]; in ZSTD_HcFindBestMatch()
712 const BYTE* const match = base + matchIndex; in ZSTD_HcFindBestMatch()
718 const BYTE* const match = dictBase + matchIndex; in ZSTD_HcFindBestMatch()
740 const U32* const dmsChainTable = dms->chainTable; in ZSTD_HcFindBestMatch()
741 const U32 dmsChainSize = (1 << dms->cParams.chainLog); in ZSTD_HcFindBestMatch()
742 const U32 dmsChainMask = dmsChainSize - 1; in ZSTD_HcFindBestMatch()
743 const U32 dmsLowestIndex = dms->window.dictLimit; in ZSTD_HcFindBestMatch()
744 const BYTE* const dmsBase = dms->window.base; in ZSTD_HcFindBestMatch()
745 const BYTE* const dmsEnd = dms->window.nextSrc; in ZSTD_HcFindBestMatch()
746 const U32 dmsSize = (U32)(dmsEnd - dmsBase); in ZSTD_HcFindBestMatch()
747 const U32 dmsIndexDelta = dictLimit - dmsSize; in ZSTD_HcFindBestMatch()
748 const U32 dmsMinChain = dmsSize > dmsChainSize ? dmsSize - dmsChainSize : 0; in ZSTD_HcFindBestMatch()
754 const BYTE* const match = dmsBase + matchIndex; in ZSTD_HcFindBestMatch()
799 FORCE_INLINE_TEMPLATE U32 ZSTD_row_nextIndex(BYTE* const tagRow, U32 const rowMask) { in ZSTD_row_nextIndex()
809 MEM_STATIC int ZSTD_isAligned(void const* ptr, size_t align) { in ZSTD_isAligned()
817 …INLINE_TEMPLATE void ZSTD_row_prefetch(U32 const* hashTable, BYTE const* tagTable, U32 const relRo… in ZSTD_row_prefetch()
838 void ZSTD_row_fillHashCache(ZSTD_MatchState_t* ms, const BYTE* base, in ZSTD_row_fillHashCache()
839 U32 const rowLog, U32 const mls, in ZSTD_row_fillHashCache()
840 U32 idx, const BYTE* const iLimit) in ZSTD_row_fillHashCache()
842 U32 const* const hashTable = ms->hashTable; in ZSTD_row_fillHashCache()
843 BYTE const* const tagTable = ms->tagTable; in ZSTD_row_fillHashCache()
844 U32 const hashLog = ms->rowHashLog; in ZSTD_row_fillHashCache()
845 U32 const maxElemsToPrefetch = (base + idx) > iLimit ? 0 : (U32)(iLimit - (base + idx) + 1); in ZSTD_row_fillHashCache()
846 U32 const lim = idx + MIN(ZSTD_ROW_HASH_CACHE_SIZE, maxElemsToPrefetch); in ZSTD_row_fillHashCache()
849 …U32 const hash = (U32)ZSTD_hashPtrSalted(base + idx, hashLog + ZSTD_ROW_HASH_TAG_BITS, mls, ms->ha… in ZSTD_row_fillHashCache()
850 U32 const row = (hash >> ZSTD_ROW_HASH_TAG_BITS) << rowLog; in ZSTD_row_fillHashCache()
866 U32 ZSTD_row_nextCachedHash(U32* cache, U32 const* hashTable, in ZSTD_row_nextCachedHash()
867 BYTE const* tagTable, BYTE const* base, in ZSTD_row_nextCachedHash()
868 U32 idx, U32 const hashLog, in ZSTD_row_nextCachedHash()
869 U32 const rowLog, U32 const mls, in ZSTD_row_nextCachedHash()
870 U64 const hashSalt) in ZSTD_row_nextCachedHash()
872 …U32 const newHash = (U32)ZSTD_hashPtrSalted(base+idx+ZSTD_ROW_HASH_CACHE_SIZE, hashLog + ZSTD_ROW_… in ZSTD_row_nextCachedHash()
873 U32 const row = (newHash >> ZSTD_ROW_HASH_TAG_BITS) << rowLog; in ZSTD_row_nextCachedHash()
875 { U32 const hash = cache[idx & ZSTD_ROW_HASH_CACHE_MASK]; in ZSTD_row_nextCachedHash()
887 U32 updateStartIdx, U32 const updateEndIdx, in ZSTD_row_update_internalImpl()
888 U32 const mls, U32 const rowLog, in ZSTD_row_update_internalImpl()
889 U32 const rowMask, U32 const useCache) in ZSTD_row_update_internalImpl()
891 U32* const hashTable = ms->hashTable; in ZSTD_row_update_internalImpl()
892 BYTE* const tagTable = ms->tagTable; in ZSTD_row_update_internalImpl()
893 U32 const hashLog = ms->rowHashLog; in ZSTD_row_update_internalImpl()
894 const BYTE* const base = ms->window.base; in ZSTD_row_update_internalImpl()
898 …U32 const hash = useCache ? ZSTD_row_nextCachedHash(ms->hashCache, hashTable, tagTable, base, upda… in ZSTD_row_update_internalImpl()
900 U32 const relRow = (hash >> ZSTD_ROW_HASH_TAG_BITS) << rowLog; in ZSTD_row_update_internalImpl()
901 U32* const row = hashTable + relRow; in ZSTD_row_update_internalImpl()
903 U32 const pos = ZSTD_row_nextIndex(tagRow, rowMask); in ZSTD_row_update_internalImpl()
917 void ZSTD_row_update_internal(ZSTD_MatchState_t* ms, const BYTE* ip, in ZSTD_row_update_internal()
918 U32 const mls, U32 const rowLog, in ZSTD_row_update_internal()
919 U32 const rowMask, U32 const useCache) in ZSTD_row_update_internal()
922 const BYTE* const base = ms->window.base; in ZSTD_row_update_internal()
923 const U32 target = (U32)(ip - base); in ZSTD_row_update_internal()
924 const U32 kSkipThreshold = 384; in ZSTD_row_update_internal()
925 const U32 kMaxMatchStartPositionsToUpdate = 96; in ZSTD_row_update_internal()
926 const U32 kMaxMatchEndPositionsToUpdate = 32; in ZSTD_row_update_internal()
935 U32 const bound = idx + kMaxMatchStartPositionsToUpdate; in ZSTD_row_update_internal()
950 void ZSTD_row_update(ZSTD_MatchState_t* const ms, const BYTE* ip) { in ZSTD_row_update()
951 const U32 rowLog = BOUNDED(4, ms->cParams.searchLog, 6); in ZSTD_row_update()
952 const U32 rowMask = (1u << rowLog) - 1; in ZSTD_row_update()
953 const U32 mls = MIN(ms->cParams.minMatch, 6 /* mls caps out at 6 */); in ZSTD_row_update()
964 ZSTD_row_matchMaskGroupWidth(const U32 rowEntries) in ZSTD_row_matchMaskGroupWidth()
989 ZSTD_row_getSSEMask(int nbChunks, const BYTE* const src, const BYTE tag, const U32 head) in ZSTD_row_getSSEMask()
991 const __m128i comparisonMask = _mm_set1_epi8((char)tag); in ZSTD_row_getSSEMask()
996 const __m128i chunk = _mm_loadu_si128((const __m128i*)(const void*)(src + 16*i)); in ZSTD_row_getSSEMask()
997 const __m128i equalMask = _mm_cmpeq_epi8(chunk, comparisonMask); in ZSTD_row_getSSEMask()
1009 ZSTD_row_getNEONMask(const U32 rowEntries, const BYTE* const src, const BYTE tag, const U32 headGro… in ZSTD_row_getNEONMask()
1018 const uint8x16_t chunk = vld1q_u8(src); in ZSTD_row_getNEONMask()
1019 const uint16x8_t equalMask = vreinterpretq_u16_u8(vceqq_u8(chunk, vdupq_n_u8(tag))); in ZSTD_row_getNEONMask()
1020 const uint8x8_t res = vshrn_n_u16(equalMask, 4); in ZSTD_row_getNEONMask()
1021 const U64 matches = vget_lane_u64(vreinterpret_u64_u8(res), 0); in ZSTD_row_getNEONMask()
1027 const uint16x8x2_t chunk = vld2q_u16((const uint16_t*)(const void*)src); in ZSTD_row_getNEONMask()
1028 const uint8x16_t chunk0 = vreinterpretq_u8_u16(chunk.val[0]); in ZSTD_row_getNEONMask()
1029 const uint8x16_t chunk1 = vreinterpretq_u8_u16(chunk.val[1]); in ZSTD_row_getNEONMask()
1030 const uint8x16_t dup = vdupq_n_u8(tag); in ZSTD_row_getNEONMask()
1031 const uint8x8_t t0 = vshrn_n_u16(vreinterpretq_u16_u8(vceqq_u8(chunk0, dup)), 6); in ZSTD_row_getNEONMask()
1032 const uint8x8_t t1 = vshrn_n_u16(vreinterpretq_u16_u8(vceqq_u8(chunk1, dup)), 6); in ZSTD_row_getNEONMask()
1033 const uint8x8_t res = vsli_n_u8(t0, t1, 4); in ZSTD_row_getNEONMask()
1034 const U64 matches = vget_lane_u64(vreinterpret_u64_u8(res), 0) ; in ZSTD_row_getNEONMask()
1037 const uint8x16x4_t chunk = vld4q_u8(src); in ZSTD_row_getNEONMask()
1038 const uint8x16_t dup = vdupq_n_u8(tag); in ZSTD_row_getNEONMask()
1039 const uint8x16_t cmp0 = vceqq_u8(chunk.val[0], dup); in ZSTD_row_getNEONMask()
1040 const uint8x16_t cmp1 = vceqq_u8(chunk.val[1], dup); in ZSTD_row_getNEONMask()
1041 const uint8x16_t cmp2 = vceqq_u8(chunk.val[2], dup); in ZSTD_row_getNEONMask()
1042 const uint8x16_t cmp3 = vceqq_u8(chunk.val[3], dup); in ZSTD_row_getNEONMask()
1044 const uint8x16_t t0 = vsriq_n_u8(cmp1, cmp0, 1); in ZSTD_row_getNEONMask()
1045 const uint8x16_t t1 = vsriq_n_u8(cmp3, cmp2, 1); in ZSTD_row_getNEONMask()
1046 const uint8x16_t t2 = vsriq_n_u8(t1, t0, 2); in ZSTD_row_getNEONMask()
1047 const uint8x16_t t3 = vsriq_n_u8(t2, t2, 4); in ZSTD_row_getNEONMask()
1048 const uint8x8_t t4 = vshrn_n_u16(vreinterpretq_u16_u8(t3), 4); in ZSTD_row_getNEONMask()
1049 const U64 matches = vget_lane_u64(vreinterpret_u64_u8(t4), 0); in ZSTD_row_getNEONMask()
1062 ZSTD_row_getMatchMask(const BYTE* const tagRow, const BYTE tag, const U32 headGrouped, const U32 ro… in ZSTD_row_getMatchMask()
1064 const BYTE* const src = tagRow; in ZSTD_row_getMatchMask()
1082 { const int chunkSize = sizeof(size_t); in ZSTD_row_getMatchMask()
1083 const size_t shiftAmount = ((chunkSize * 8) - chunkSize); in ZSTD_row_getMatchMask()
1084 const size_t xFF = ~((size_t)0); in ZSTD_row_getMatchMask()
1085 const size_t x01 = xFF / 0xFF; in ZSTD_row_getMatchMask()
1086 const size_t x80 = x01 << 7; in ZSTD_row_getMatchMask()
1087 const size_t splatChar = tag * x01; in ZSTD_row_getMatchMask()
1092 const size_t extractMagic = (xFF / 0x7F) >> chunkSize; in ZSTD_row_getMatchMask()
1102 const size_t msb = xFF ^ (xFF >> 1); in ZSTD_row_getMatchMask()
1103 const size_t extractMagic = (msb / 0x1FF) | msb; in ZSTD_row_getMatchMask()
1144 const BYTE* const ip, const BYTE* const iLimit, in ZSTD_RowFindBestMatch()
1146 const U32 mls, const ZSTD_dictMode_e dictMode, in ZSTD_RowFindBestMatch()
1147 const U32 rowLog) in ZSTD_RowFindBestMatch()
1149 U32* const hashTable = ms->hashTable; in ZSTD_RowFindBestMatch()
1150 BYTE* const tagTable = ms->tagTable; in ZSTD_RowFindBestMatch()
1151 U32* const hashCache = ms->hashCache; in ZSTD_RowFindBestMatch()
1152 const U32 hashLog = ms->rowHashLog; in ZSTD_RowFindBestMatch()
1153 const ZSTD_compressionParameters* const cParams = &ms->cParams; in ZSTD_RowFindBestMatch()
1154 const BYTE* const base = ms->window.base; in ZSTD_RowFindBestMatch()
1155 const BYTE* const dictBase = ms->window.dictBase; in ZSTD_RowFindBestMatch()
1156 const U32 dictLimit = ms->window.dictLimit; in ZSTD_RowFindBestMatch()
1157 const BYTE* const prefixStart = base + dictLimit; in ZSTD_RowFindBestMatch()
1158 const BYTE* const dictEnd = dictBase + dictLimit; in ZSTD_RowFindBestMatch()
1159 const U32 curr = (U32)(ip-base); in ZSTD_RowFindBestMatch()
1160 const U32 maxDistance = 1U << cParams->windowLog; in ZSTD_RowFindBestMatch()
1161 const U32 lowestValid = ms->window.lowLimit; in ZSTD_RowFindBestMatch()
1162 …const U32 withinMaxDistance = (curr - lowestValid > maxDistance) ? curr - maxDistance : lowestVali… in ZSTD_RowFindBestMatch()
1163 const U32 isDictionary = (ms->loadedDictEnd != 0); in ZSTD_RowFindBestMatch()
1164 const U32 lowLimit = isDictionary ? lowestValid : withinMaxDistance; in ZSTD_RowFindBestMatch()
1165 const U32 rowEntries = (1U << rowLog); in ZSTD_RowFindBestMatch()
1166 const U32 rowMask = rowEntries - 1; in ZSTD_RowFindBestMatch()
1167 …const U32 cappedSearchLog = MIN(cParams->searchLog, rowLog); /* nb of searches is capped at nb ent… in ZSTD_RowFindBestMatch()
1168 const U32 groupWidth = ZSTD_row_matchMaskGroupWidth(rowEntries); in ZSTD_RowFindBestMatch()
1169 const U64 hashSalt = ms->hashSalt; in ZSTD_RowFindBestMatch()
1175 const ZSTD_MatchState_t* const dms = ms->dictMatchState; in ZSTD_RowFindBestMatch()
1185 const U32 ddsHashLog = dms->cParams.hashLog - ZSTD_LAZY_DDSS_BUCKET_LOG; in ZSTD_RowFindBestMatch()
1195 U32* const dmsHashTable = dms->hashTable; in ZSTD_RowFindBestMatch()
1196 BYTE* const dmsTagTable = dms->tagTable; in ZSTD_RowFindBestMatch()
1197 U32 const dmsHash = (U32)ZSTD_hashPtr(ip, dms->rowHashLog + ZSTD_ROW_HASH_TAG_BITS, mls); in ZSTD_RowFindBestMatch()
1198 U32 const dmsRelRow = (dmsHash >> ZSTD_ROW_HASH_TAG_BITS) << rowLog; in ZSTD_RowFindBestMatch()
1219 U32 const relRow = (hash >> ZSTD_ROW_HASH_TAG_BITS) << rowLog; in ZSTD_RowFindBestMatch()
1220 U32 const tag = hash & ZSTD_ROW_HASH_TAG_MASK; in ZSTD_RowFindBestMatch()
1221 U32* const row = hashTable + relRow; in ZSTD_RowFindBestMatch()
1223 U32 const headGrouped = (*tagRow & rowMask) * groupWidth; in ZSTD_RowFindBestMatch()
1231 … U32 const matchPos = ((headGrouped + ZSTD_VecMask_next(matches)) / groupWidth) & rowMask; in ZSTD_RowFindBestMatch()
1232 U32 const matchIndex = row[matchPos]; in ZSTD_RowFindBestMatch()
1249 U32 const pos = ZSTD_row_nextIndex(tagRow, rowMask); in ZSTD_RowFindBestMatch()
1256 U32 const matchIndex = matchBuffer[currMatch]; in ZSTD_RowFindBestMatch()
1262 const BYTE* const match = base + matchIndex; in ZSTD_RowFindBestMatch()
1268 const BYTE* const match = dictBase + matchIndex; in ZSTD_RowFindBestMatch()
1289 const U32 dmsLowestIndex = dms->window.dictLimit; in ZSTD_RowFindBestMatch()
1290 const BYTE* const dmsBase = dms->window.base; in ZSTD_RowFindBestMatch()
1291 const BYTE* const dmsEnd = dms->window.nextSrc; in ZSTD_RowFindBestMatch()
1292 const U32 dmsSize = (U32)(dmsEnd - dmsBase); in ZSTD_RowFindBestMatch()
1293 const U32 dmsIndexDelta = dictLimit - dmsSize; in ZSTD_RowFindBestMatch()
1295 { U32 const headGrouped = (*dmsTagRow & rowMask) * groupWidth; in ZSTD_RowFindBestMatch()
1302 … U32 const matchPos = ((headGrouped + ZSTD_VecMask_next(matches)) / groupWidth) & rowMask; in ZSTD_RowFindBestMatch()
1303 U32 const matchIndex = dmsRow[matchPos]; in ZSTD_RowFindBestMatch()
1314 U32 const matchIndex = matchBuffer[currMatch]; in ZSTD_RowFindBestMatch()
1319 { const BYTE* const match = dmsBase + matchIndex; in ZSTD_RowFindBestMatch()
1369 const BYTE* ip, const BYTE* const iLimit, \
1379 const BYTE* ip, const BYTE* const iLimit, \
1389 const BYTE* ip, const BYTE* const iLimit, \
1490 const BYTE* ip, in ZSTD_searchMax()
1491 const BYTE* iend, in ZSTD_searchMax()
1493 U32 const mls, in ZSTD_searchMax()
1494 U32 const rowLog, in ZSTD_searchMax()
1495 searchMethod_e const searchMethod, in ZSTD_searchMax()
1496 ZSTD_dictMode_e const dictMode) in ZSTD_searchMax()
1520 const void* src, size_t srcSize, in ZSTD_compressBlock_lazy_generic()
1521 const searchMethod_e searchMethod, const U32 depth, in ZSTD_compressBlock_lazy_generic()
1522 ZSTD_dictMode_e const dictMode) in ZSTD_compressBlock_lazy_generic()
1524 const BYTE* const istart = (const BYTE*)src; in ZSTD_compressBlock_lazy_generic()
1525 const BYTE* ip = istart; in ZSTD_compressBlock_lazy_generic()
1526 const BYTE* anchor = istart; in ZSTD_compressBlock_lazy_generic()
1527 const BYTE* const iend = istart + srcSize; in ZSTD_compressBlock_lazy_generic()
1528 …const BYTE* const ilimit = (searchMethod == search_rowHash) ? iend - 8 - ZSTD_ROW_HASH_CACHE_SIZE … in ZSTD_compressBlock_lazy_generic()
1529 const BYTE* const base = ms->window.base; in ZSTD_compressBlock_lazy_generic()
1530 const U32 prefixLowestIndex = ms->window.dictLimit; in ZSTD_compressBlock_lazy_generic()
1531 const BYTE* const prefixLowest = base + prefixLowestIndex; in ZSTD_compressBlock_lazy_generic()
1532 const U32 mls = BOUNDED(4, ms->cParams.minMatch, 6); in ZSTD_compressBlock_lazy_generic()
1533 const U32 rowLog = BOUNDED(4, ms->cParams.searchLog, 6); in ZSTD_compressBlock_lazy_generic()
1538 const int isDMS = dictMode == ZSTD_dictMatchState; in ZSTD_compressBlock_lazy_generic()
1539 const int isDDS = dictMode == ZSTD_dedicatedDictSearch; in ZSTD_compressBlock_lazy_generic()
1540 const int isDxS = isDMS || isDDS; in ZSTD_compressBlock_lazy_generic()
1541 const ZSTD_MatchState_t* const dms = ms->dictMatchState; in ZSTD_compressBlock_lazy_generic()
1542 const U32 dictLowestIndex = isDxS ? dms->window.dictLimit : 0; in ZSTD_compressBlock_lazy_generic()
1543 const BYTE* const dictBase = isDxS ? dms->window.base : NULL; in ZSTD_compressBlock_lazy_generic()
1544 const BYTE* const dictLowest = isDxS ? dictBase + dictLowestIndex : NULL; in ZSTD_compressBlock_lazy_generic()
1545 const BYTE* const dictEnd = isDxS ? dms->window.nextSrc : NULL; in ZSTD_compressBlock_lazy_generic()
1546 const U32 dictIndexDelta = isDxS ? in ZSTD_compressBlock_lazy_generic()
1549 const U32 dictAndPrefixLength = (U32)((ip - prefixLowest) + (dictEnd - dictLowest)); in ZSTD_compressBlock_lazy_generic()
1554 U32 const curr = (U32)(ip - base); in ZSTD_compressBlock_lazy_generic()
1555 U32 const windowLow = ZSTD_getLowestPrefixIndex(ms, curr, ms->cParams.windowLog); in ZSTD_compressBlock_lazy_generic()
1556 U32 const maxRep = curr - windowLow; in ZSTD_compressBlock_lazy_generic()
1584 const BYTE* start=ip+1; in ZSTD_compressBlock_lazy_generic()
1589 const U32 repIndex = (U32)(ip - base) + 1 - offset_1; in ZSTD_compressBlock_lazy_generic()
1590 … const BYTE* repMatch = ((dictMode == ZSTD_dictMatchState || dictMode == ZSTD_dedicatedDictSearch) in ZSTD_compressBlock_lazy_generic()
1596 const BYTE* repMatchEnd = repIndex < prefixLowestIndex ? dictEnd : iend; in ZSTD_compressBlock_lazy_generic()
1609 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &offbaseFound, mls, rowLog, searchMethod, dictMode… in ZSTD_compressBlock_lazy_generic()
1615 …size_t const step = ((size_t)(ip-anchor) >> kSearchStrength) + 1; /* jump faster over incompress… in ZSTD_compressBlock_lazy_generic()
1635 size_t const mlRep = ZSTD_count(ip+4, ip+4-offset_1, iend) + 4; in ZSTD_compressBlock_lazy_generic()
1636 int const gain2 = (int)(mlRep * 3); in ZSTD_compressBlock_lazy_generic()
1637 int const gain1 = (int)(matchLength*3 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_generic()
1642 const U32 repIndex = (U32)(ip - base) - offset_1; in ZSTD_compressBlock_lazy_generic()
1643 const BYTE* repMatch = repIndex < prefixLowestIndex ? in ZSTD_compressBlock_lazy_generic()
1648 const BYTE* repMatchEnd = repIndex < prefixLowestIndex ? dictEnd : iend; in ZSTD_compressBlock_lazy_generic()
1649 … size_t const mlRep = ZSTD_count_2segments(ip+4, repMatch+4, iend, repMatchEnd, prefixLowest) + 4; in ZSTD_compressBlock_lazy_generic()
1650 int const gain2 = (int)(mlRep * 3); in ZSTD_compressBlock_lazy_generic()
1651 int const gain1 = (int)(matchLength*3 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_generic()
1657 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &ofbCandidate, mls, rowLog, searchMethod, dictMode… in ZSTD_compressBlock_lazy_generic()
1658 … int const gain2 = (int)(ml2*4 - ZSTD_highbit32((U32)ofbCandidate)); /* raw approx */ in ZSTD_compressBlock_lazy_generic()
1659 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 4); in ZSTD_compressBlock_lazy_generic()
1671 size_t const mlRep = ZSTD_count(ip+4, ip+4-offset_1, iend) + 4; in ZSTD_compressBlock_lazy_generic()
1672 int const gain2 = (int)(mlRep * 4); in ZSTD_compressBlock_lazy_generic()
1673 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_generic()
1678 const U32 repIndex = (U32)(ip - base) - offset_1; in ZSTD_compressBlock_lazy_generic()
1679 const BYTE* repMatch = repIndex < prefixLowestIndex ? in ZSTD_compressBlock_lazy_generic()
1684 const BYTE* repMatchEnd = repIndex < prefixLowestIndex ? dictEnd : iend; in ZSTD_compressBlock_lazy_generic()
1685 … size_t const mlRep = ZSTD_count_2segments(ip+4, repMatch+4, iend, repMatchEnd, prefixLowest) + 4; in ZSTD_compressBlock_lazy_generic()
1686 int const gain2 = (int)(mlRep * 4); in ZSTD_compressBlock_lazy_generic()
1687 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_generic()
1693 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &ofbCandidate, mls, rowLog, searchMethod, dictMode… in ZSTD_compressBlock_lazy_generic()
1694 … int const gain2 = (int)(ml2*4 - ZSTD_highbit32((U32)ofbCandidate)); /* raw approx */ in ZSTD_compressBlock_lazy_generic()
1695 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 7); in ZSTD_compressBlock_lazy_generic()
1715 U32 const matchIndex = (U32)((size_t)(start-base) - OFFBASE_TO_OFFSET(offBase)); in ZSTD_compressBlock_lazy_generic()
1716 …const BYTE* match = (matchIndex < prefixLowestIndex) ? dictBase + matchIndex - dictIndexDelta : ba… in ZSTD_compressBlock_lazy_generic()
1717 … const BYTE* const mStart = (matchIndex < prefixLowestIndex) ? dictLowest : prefixLowest; in ZSTD_compressBlock_lazy_generic()
1724 { size_t const litLength = (size_t)(start - anchor); in ZSTD_compressBlock_lazy_generic()
1739 U32 const current2 = (U32)(ip-base); in ZSTD_compressBlock_lazy_generic()
1740 U32 const repIndex = current2 - offset_2; in ZSTD_compressBlock_lazy_generic()
1741 const BYTE* repMatch = repIndex < prefixLowestIndex ? in ZSTD_compressBlock_lazy_generic()
1746 const BYTE* const repEnd2 = repIndex < prefixLowestIndex ? dictEnd : iend; in ZSTD_compressBlock_lazy_generic()
1787 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy()
1794 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_dictMatchState()
1801 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_dedicatedDictSearch()
1808 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_row()
1815 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_dictMatchState_row()
1822 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_dedicatedDictSearch_row()
1831 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy()
1838 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_dictMatchState()
1845 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_dedicatedDictSearch()
1852 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_row()
1859 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_dictMatchState_row()
1866 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_dedicatedDictSearch_row()
1875 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2()
1882 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_dictMatchState()
1889 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_dedicatedDictSearch()
1896 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_row()
1903 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_dictMatchState_row()
1910 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_dedicatedDictSearch_row()
1919 void const* src, size_t srcSize) in ZSTD_compressBlock_btlazy2()
1926 void const* src, size_t srcSize) in ZSTD_compressBlock_btlazy2_dictMatchState()
1941 const void* src, size_t srcSize, in ZSTD_compressBlock_lazy_extDict_generic()
1942 const searchMethod_e searchMethod, const U32 depth) in ZSTD_compressBlock_lazy_extDict_generic()
1944 const BYTE* const istart = (const BYTE*)src; in ZSTD_compressBlock_lazy_extDict_generic()
1945 const BYTE* ip = istart; in ZSTD_compressBlock_lazy_extDict_generic()
1946 const BYTE* anchor = istart; in ZSTD_compressBlock_lazy_extDict_generic()
1947 const BYTE* const iend = istart + srcSize; in ZSTD_compressBlock_lazy_extDict_generic()
1948 …const BYTE* const ilimit = searchMethod == search_rowHash ? iend - 8 - ZSTD_ROW_HASH_CACHE_SIZE : … in ZSTD_compressBlock_lazy_extDict_generic()
1949 const BYTE* const base = ms->window.base; in ZSTD_compressBlock_lazy_extDict_generic()
1950 const U32 dictLimit = ms->window.dictLimit; in ZSTD_compressBlock_lazy_extDict_generic()
1951 const BYTE* const prefixStart = base + dictLimit; in ZSTD_compressBlock_lazy_extDict_generic()
1952 const BYTE* const dictBase = ms->window.dictBase; in ZSTD_compressBlock_lazy_extDict_generic()
1953 const BYTE* const dictEnd = dictBase + dictLimit; in ZSTD_compressBlock_lazy_extDict_generic()
1954 const BYTE* const dictStart = dictBase + ms->window.lowLimit; in ZSTD_compressBlock_lazy_extDict_generic()
1955 const U32 windowLog = ms->cParams.windowLog; in ZSTD_compressBlock_lazy_extDict_generic()
1956 const U32 mls = BOUNDED(4, ms->cParams.minMatch, 6); in ZSTD_compressBlock_lazy_extDict_generic()
1957 const U32 rowLog = BOUNDED(4, ms->cParams.searchLog, 6); in ZSTD_compressBlock_lazy_extDict_generic()
1982 const BYTE* start=ip+1; in ZSTD_compressBlock_lazy_extDict_generic()
1986 { const U32 windowLow = ZSTD_getLowestMatchIndex(ms, curr+1, windowLog); in ZSTD_compressBlock_lazy_extDict_generic()
1987 const U32 repIndex = (U32)(curr+1 - offset_1); in ZSTD_compressBlock_lazy_extDict_generic()
1988 const BYTE* const repBase = repIndex < dictLimit ? dictBase : base; in ZSTD_compressBlock_lazy_extDict_generic()
1989 const BYTE* const repMatch = repBase + repIndex; in ZSTD_compressBlock_lazy_extDict_generic()
1994 const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend; in ZSTD_compressBlock_lazy_extDict_generic()
2001 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &ofbCandidate, mls, rowLog, searchMethod, ZSTD_ext… in ZSTD_compressBlock_lazy_extDict_generic()
2007 size_t const step = ((size_t)(ip-anchor) >> kSearchStrength); in ZSTD_compressBlock_lazy_extDict_generic()
2027 const U32 windowLow = ZSTD_getLowestMatchIndex(ms, curr, windowLog); in ZSTD_compressBlock_lazy_extDict_generic()
2028 const U32 repIndex = (U32)(curr - offset_1); in ZSTD_compressBlock_lazy_extDict_generic()
2029 const BYTE* const repBase = repIndex < dictLimit ? dictBase : base; in ZSTD_compressBlock_lazy_extDict_generic()
2030 const BYTE* const repMatch = repBase + repIndex; in ZSTD_compressBlock_lazy_extDict_generic()
2035 const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend; in ZSTD_compressBlock_lazy_extDict_generic()
2036 … size_t const repLength = ZSTD_count_2segments(ip+4, repMatch+4, iend, repEnd, prefixStart) + 4; in ZSTD_compressBlock_lazy_extDict_generic()
2037 int const gain2 = (int)(repLength * 3); in ZSTD_compressBlock_lazy_extDict_generic()
2038 int const gain1 = (int)(matchLength*3 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_extDict_generic()
2045 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &ofbCandidate, mls, rowLog, searchMethod, ZSTD_ext… in ZSTD_compressBlock_lazy_extDict_generic()
2046 … int const gain2 = (int)(ml2*4 - ZSTD_highbit32((U32)ofbCandidate)); /* raw approx */ in ZSTD_compressBlock_lazy_extDict_generic()
2047 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 4); in ZSTD_compressBlock_lazy_extDict_generic()
2059 const U32 windowLow = ZSTD_getLowestMatchIndex(ms, curr, windowLog); in ZSTD_compressBlock_lazy_extDict_generic()
2060 const U32 repIndex = (U32)(curr - offset_1); in ZSTD_compressBlock_lazy_extDict_generic()
2061 const BYTE* const repBase = repIndex < dictLimit ? dictBase : base; in ZSTD_compressBlock_lazy_extDict_generic()
2062 const BYTE* const repMatch = repBase + repIndex; in ZSTD_compressBlock_lazy_extDict_generic()
2067 const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend; in ZSTD_compressBlock_lazy_extDict_generic()
2068 … size_t const repLength = ZSTD_count_2segments(ip+4, repMatch+4, iend, repEnd, prefixStart) + 4; in ZSTD_compressBlock_lazy_extDict_generic()
2069 int const gain2 = (int)(repLength * 4); in ZSTD_compressBlock_lazy_extDict_generic()
2070 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 1); in ZSTD_compressBlock_lazy_extDict_generic()
2077 …size_t const ml2 = ZSTD_searchMax(ms, ip, iend, &ofbCandidate, mls, rowLog, searchMethod, ZSTD_ext… in ZSTD_compressBlock_lazy_extDict_generic()
2078 … int const gain2 = (int)(ml2*4 - ZSTD_highbit32((U32)ofbCandidate)); /* raw approx */ in ZSTD_compressBlock_lazy_extDict_generic()
2079 int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offBase) + 7); in ZSTD_compressBlock_lazy_extDict_generic()
2089 U32 const matchIndex = (U32)((size_t)(start-base) - OFFBASE_TO_OFFSET(offBase)); in ZSTD_compressBlock_lazy_extDict_generic()
2090 … const BYTE* match = (matchIndex < dictLimit) ? dictBase + matchIndex : base + matchIndex; in ZSTD_compressBlock_lazy_extDict_generic()
2091 const BYTE* const mStart = (matchIndex < dictLimit) ? dictStart : prefixStart; in ZSTD_compressBlock_lazy_extDict_generic()
2098 { size_t const litLength = (size_t)(start - anchor); in ZSTD_compressBlock_lazy_extDict_generic()
2112 const U32 repCurrent = (U32)(ip-base); in ZSTD_compressBlock_lazy_extDict_generic()
2113 const U32 windowLow = ZSTD_getLowestMatchIndex(ms, repCurrent, windowLog); in ZSTD_compressBlock_lazy_extDict_generic()
2114 const U32 repIndex = repCurrent - offset_2; in ZSTD_compressBlock_lazy_extDict_generic()
2115 const BYTE* const repBase = repIndex < dictLimit ? dictBase : base; in ZSTD_compressBlock_lazy_extDict_generic()
2116 const BYTE* const repMatch = repBase + repIndex; in ZSTD_compressBlock_lazy_extDict_generic()
2121 const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend; in ZSTD_compressBlock_lazy_extDict_generic()
2144 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_extDict()
2151 void const* src, size_t srcSize) in ZSTD_compressBlock_greedy_extDict_row()
2160 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_extDict()
2168 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy_extDict_row()
2178 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_extDict()
2186 void const* src, size_t srcSize) in ZSTD_compressBlock_lazy2_extDict_row()
2195 void const* src, size_t srcSize) in ZSTD_compressBlock_btlazy2_extDict()