From: senhuang42 Date: Thu, 1 Oct 2020 14:13:06 +0000 (-0400) Subject: Reset ldmSeqStore after initStats_ultra() pass for btultra2 X-Git-Tag: v1.4.7~57^2~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7dee62c2876b568e215aa63660c2d173d1e5ba1f;p=thirdparty%2Fzstd.git Reset ldmSeqStore after initStats_ultra() pass for btultra2 --- diff --git a/lib/compress/zstd_ldm.c b/lib/compress/zstd_ldm.c index 743344036..60a6e5878 100644 --- a/lib/compress/zstd_ldm.c +++ b/lib/compress/zstd_ldm.c @@ -578,7 +578,6 @@ size_t ZSTD_ldm_blockCompress(rawSeqStore_t* rawSeqStore, if (cParams->strategy >= ZSTD_btopt) { size_t lastLLSize; ms->ldmSeqStore = *rawSeqStore; - ms->ldmSeqStore.base = ms->window.base; lastLLSize = blockCompressor(ms, seqStore, rep, src, srcSize); /* ldm seqstore will have changed during blockCompressor() call, make sure we copy those changes */ *rawSeqStore = ms->ldmSeqStore; diff --git a/lib/compress/zstd_opt.c b/lib/compress/zstd_opt.c index bafff8261..bb87e0580 100644 --- a/lib/compress/zstd_opt.c +++ b/lib/compress/zstd_opt.c @@ -1364,6 +1364,7 @@ ZSTD_initStats_ultra(ZSTD_matchState_t* ms, const void* src, size_t srcSize) { U32 tmpRep[ZSTD_REP_NUM]; /* updated rep codes will sink here */ + rawSeqStore_t tmpSeqStore = ms->ldmSeqStore; ZSTD_memcpy(tmpRep, rep, sizeof(tmpRep)); DEBUGLOG(4, "ZSTD_initStats_ultra (srcSize=%zu)", srcSize); @@ -1380,6 +1381,7 @@ ZSTD_initStats_ultra(ZSTD_matchState_t* ms, ms->window.dictLimit += (U32)srcSize; ms->window.lowLimit = ms->window.dictLimit; ms->nextToUpdate = ms->window.dictLimit; + ms->ldmSeqStore = tmpSeqStore; /* re-inforce weight of collected statistics */ ZSTD_upscaleStats(&ms->opt);