Lines Matching refs:window
209 ZSTD_window_t window; /* State for window round buffer management */ member
260 ZSTD_window_t window; /* State for the window round buffer management */ member
954 MEM_STATIC void ZSTD_window_clear(ZSTD_window_t* window) in ZSTD_window_clear() argument
956 size_t const endT = (size_t)(window->nextSrc - window->base); in ZSTD_window_clear()
959 window->lowLimit = end; in ZSTD_window_clear()
960 window->dictLimit = end; in ZSTD_window_clear()
963 MEM_STATIC U32 ZSTD_window_isEmpty(ZSTD_window_t const window) in ZSTD_window_isEmpty() argument
965 return window.dictLimit == ZSTD_WINDOW_START_INDEX && in ZSTD_window_isEmpty()
966 window.lowLimit == ZSTD_WINDOW_START_INDEX && in ZSTD_window_isEmpty()
967 (window.nextSrc - window.base) == ZSTD_WINDOW_START_INDEX; in ZSTD_window_isEmpty()
974 MEM_STATIC U32 ZSTD_window_hasExtDict(ZSTD_window_t const window) in ZSTD_window_hasExtDict() argument
976 return window.lowLimit < window.dictLimit; in ZSTD_window_hasExtDict()
986 return ZSTD_window_hasExtDict(ms->window) ? in ZSTD_matchState_dictMode()
1010 MEM_STATIC U32 ZSTD_window_canOverflowCorrect(ZSTD_window_t const window, in ZSTD_window_canOverflowCorrect() argument
1017 U32 const curr = (U32)((BYTE const*)src - window.base); in ZSTD_window_canOverflowCorrect()
1027 U32 const adjustment = window.nbOverflowCorrections + 1; in ZSTD_window_canOverflowCorrect()
1045 MEM_STATIC U32 ZSTD_window_needOverflowCorrection(ZSTD_window_t const window, in ZSTD_window_needOverflowCorrection() argument
1052 U32 const curr = (U32)((BYTE const*)srcEnd - window.base); in ZSTD_window_needOverflowCorrection()
1054 if (ZSTD_window_canOverflowCorrect(window, cycleLog, maxDist, loadedDictEnd, src)) { in ZSTD_window_needOverflowCorrection()
1070 MEM_STATIC U32 ZSTD_window_correctOverflow(ZSTD_window_t* window, U32 cycleLog, in ZSTD_window_correctOverflow() argument
1094 U32 const curr = (U32)((BYTE const*)src - window->base); in ZSTD_window_correctOverflow()
1116 window->base += correction; in ZSTD_window_correctOverflow()
1117 window->dictBase += correction; in ZSTD_window_correctOverflow()
1118 if (window->lowLimit < correction + ZSTD_WINDOW_START_INDEX) { in ZSTD_window_correctOverflow()
1119 window->lowLimit = ZSTD_WINDOW_START_INDEX; in ZSTD_window_correctOverflow()
1121 window->lowLimit -= correction; in ZSTD_window_correctOverflow()
1123 if (window->dictLimit < correction + ZSTD_WINDOW_START_INDEX) { in ZSTD_window_correctOverflow()
1124 window->dictLimit = ZSTD_WINDOW_START_INDEX; in ZSTD_window_correctOverflow()
1126 window->dictLimit -= correction; in ZSTD_window_correctOverflow()
1133 assert(window->lowLimit <= newCurrent); in ZSTD_window_correctOverflow()
1134 assert(window->dictLimit <= newCurrent); in ZSTD_window_correctOverflow()
1136 ++window->nbOverflowCorrections; in ZSTD_window_correctOverflow()
1139 window->lowLimit); in ZSTD_window_correctOverflow()
1167 ZSTD_window_enforceMaxDist(ZSTD_window_t* window, in ZSTD_window_enforceMaxDist() argument
1173 U32 const blockEndIdx = (U32)((BYTE const*)blockEnd - window->base); in ZSTD_window_enforceMaxDist()
1193 if (window->lowLimit < newLowLimit) window->lowLimit = newLowLimit; in ZSTD_window_enforceMaxDist()
1194 if (window->dictLimit < window->lowLimit) { in ZSTD_window_enforceMaxDist()
1196 (unsigned)window->dictLimit, (unsigned)window->lowLimit); in ZSTD_window_enforceMaxDist()
1197 window->dictLimit = window->lowLimit; in ZSTD_window_enforceMaxDist()
1212 ZSTD_checkDictValidity(const ZSTD_window_t* window, in ZSTD_checkDictValidity() argument
1220 { U32 const blockEndIdx = (U32)((BYTE const*)blockEnd - window->base); in ZSTD_checkDictValidity()
1240 MEM_STATIC void ZSTD_window_init(ZSTD_window_t* window) { in ZSTD_window_init() argument
1241 ZSTD_memset(window, 0, sizeof(*window)); in ZSTD_window_init()
1242 window->base = (BYTE const*)" "; in ZSTD_window_init()
1243 window->dictBase = (BYTE const*)" "; in ZSTD_window_init()
1245 … window->dictLimit = ZSTD_WINDOW_START_INDEX; /* start from >0, so that 1st position is valid */ in ZSTD_window_init()
1246 …window->lowLimit = ZSTD_WINDOW_START_INDEX; /* it ensures first and later CCtx usages compress… in ZSTD_window_init()
1247 window->nextSrc = window->base + ZSTD_WINDOW_START_INDEX; /* see issue #1241 */ in ZSTD_window_init()
1248 window->nbOverflowCorrections = 0; in ZSTD_window_init()
1258 MEM_STATIC U32 ZSTD_window_update(ZSTD_window_t* window, in ZSTD_window_update() argument
1267 assert(window->base != NULL); in ZSTD_window_update()
1268 assert(window->dictBase != NULL); in ZSTD_window_update()
1270 if (src != window->nextSrc || forceNonContiguous) { in ZSTD_window_update()
1272 size_t const distanceFromBase = (size_t)(window->nextSrc - window->base); in ZSTD_window_update()
1273 DEBUGLOG(5, "Non contiguous blocks, new segment starts at %u", window->dictLimit); in ZSTD_window_update()
1274 window->lowLimit = window->dictLimit; in ZSTD_window_update()
1276 window->dictLimit = (U32)distanceFromBase; in ZSTD_window_update()
1277 window->dictBase = window->base; in ZSTD_window_update()
1278 window->base = ip - distanceFromBase; in ZSTD_window_update()
1280 …if (window->dictLimit - window->lowLimit < HASH_READ_SIZE) window->lowLimit = window->dictLimit; … in ZSTD_window_update()
1283 window->nextSrc = ip + srcSize; in ZSTD_window_update()
1285 if ( (ip+srcSize > window->dictBase + window->lowLimit) in ZSTD_window_update()
1286 & (ip < window->dictBase + window->dictLimit)) { in ZSTD_window_update()
1287 ptrdiff_t const highInputIdx = (ip + srcSize) - window->dictBase; in ZSTD_window_update()
1288 …U32 const lowLimitMax = (highInputIdx > (ptrdiff_t)window->dictLimit) ? window->dictLimit : (U32)h… in ZSTD_window_update()
1289 window->lowLimit = lowLimitMax; in ZSTD_window_update()
1290 DEBUGLOG(5, "Overlapping extDict and input : new lowLimit = %u", window->lowLimit); in ZSTD_window_update()
1301 U32 const lowestValid = ms->window.lowLimit; in ZSTD_getLowestMatchIndex()
1318 U32 const lowestValid = ms->window.dictLimit; in ZSTD_getLowestPrefixIndex()