Lines Matching full:sequence

784 …*  This function is only called in the uncommon case where the sequence is near the end of the blo…
785 * should be fast for a single long sequence, but can be slow for several short sequences.
857 * NOTE: This function needs to be fast for a single long sequence, but doesn't need
862 BYTE* const oend, seq_t sequence, in ZSTD_execSequenceEnd() argument
866 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEnd()
867 size_t const sequenceLength = sequence.litLength + sequence.matchLength; in ZSTD_execSequenceEnd()
868 const BYTE* const iLitEnd = *litPtr + sequence.litLength; in ZSTD_execSequenceEnd()
869 const BYTE* match = oLitEnd - sequence.offset; in ZSTD_execSequenceEnd()
874 …RETURN_ERROR_IF(sequence.litLength > (size_t)(litLimit - *litPtr), corruption_detected, "try to re… in ZSTD_execSequenceEnd()
879 ZSTD_safecopy(op, oend_w, *litPtr, sequence.litLength, ZSTD_no_overlap); in ZSTD_execSequenceEnd()
884 if (sequence.offset > (size_t)(oLitEnd - prefixStart)) { in ZSTD_execSequenceEnd()
886 … RETURN_ERROR_IF(sequence.offset > (size_t)(oLitEnd - virtualStart), corruption_detected, ""); in ZSTD_execSequenceEnd()
888 if (match + sequence.matchLength <= dictEnd) { in ZSTD_execSequenceEnd()
889 ZSTD_memmove(oLitEnd, match, sequence.matchLength); in ZSTD_execSequenceEnd()
896 sequence.matchLength -= length1; in ZSTD_execSequenceEnd()
900 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEnd()
909 BYTE* const oend, const BYTE* const oend_w, seq_t sequence, in ZSTD_execSequenceEndSplitLitBuffer() argument
913 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEndSplitLitBuffer()
914 size_t const sequenceLength = sequence.litLength + sequence.matchLength; in ZSTD_execSequenceEndSplitLitBuffer()
915 const BYTE* const iLitEnd = *litPtr + sequence.litLength; in ZSTD_execSequenceEndSplitLitBuffer()
916 const BYTE* match = oLitEnd - sequence.offset; in ZSTD_execSequenceEndSplitLitBuffer()
921 …RETURN_ERROR_IF(sequence.litLength > (size_t)(litLimit - *litPtr), corruption_detected, "try to re… in ZSTD_execSequenceEndSplitLitBuffer()
926 …RETURN_ERROR_IF(op > *litPtr && op < *litPtr + sequence.litLength, dstSize_tooSmall, "output shoul… in ZSTD_execSequenceEndSplitLitBuffer()
927 ZSTD_safecopyDstBeforeSrc(op, *litPtr, sequence.litLength); in ZSTD_execSequenceEndSplitLitBuffer()
932 if (sequence.offset > (size_t)(oLitEnd - prefixStart)) { in ZSTD_execSequenceEndSplitLitBuffer()
934 … RETURN_ERROR_IF(sequence.offset > (size_t)(oLitEnd - virtualStart), corruption_detected, ""); in ZSTD_execSequenceEndSplitLitBuffer()
936 if (match + sequence.matchLength <= dictEnd) { in ZSTD_execSequenceEndSplitLitBuffer()
937 ZSTD_memmove(oLitEnd, match, sequence.matchLength); in ZSTD_execSequenceEndSplitLitBuffer()
944 sequence.matchLength -= length1; in ZSTD_execSequenceEndSplitLitBuffer()
948 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEndSplitLitBuffer()
954 BYTE* const oend, seq_t sequence, in ZSTD_execSequence() argument
958 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequence()
959 size_t const sequenceLength = sequence.litLength + sequence.matchLength; in ZSTD_execSequence()
962 const BYTE* const iLitEnd = *litPtr + sequence.litLength; in ZSTD_execSequence()
963 const BYTE* match = oLitEnd - sequence.offset; in ZSTD_execSequence()
976 …return ZSTD_execSequenceEnd(op, oend, sequence, litPtr, litLimit, prefixStart, virtualStart, dictE… in ZSTD_execSequence()
992 if (UNLIKELY(sequence.litLength > 16)) { in ZSTD_execSequence()
993 ZSTD_wildcopy(op + 16, (*litPtr) + 16, sequence.litLength - 16, ZSTD_no_overlap); in ZSTD_execSequence()
996 *litPtr = iLitEnd; /* update for next sequence */ in ZSTD_execSequence()
999 if (sequence.offset > (size_t)(oLitEnd - prefixStart)) { in ZSTD_execSequence()
1001 …RETURN_ERROR_IF(UNLIKELY(sequence.offset > (size_t)(oLitEnd - virtualStart)), corruption_detected,… in ZSTD_execSequence()
1003 if (match + sequence.matchLength <= dictEnd) { in ZSTD_execSequence()
1004 ZSTD_memmove(oLitEnd, match, sequence.matchLength); in ZSTD_execSequence()
1011 sequence.matchLength -= length1; in ZSTD_execSequence()
1019 assert(sequence.matchLength >= 1); in ZSTD_execSequence()
1024 if (LIKELY(sequence.offset >= WILDCOPY_VECLEN)) { in ZSTD_execSequence()
1029 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequence()
1032 assert(sequence.offset < WILDCOPY_VECLEN); in ZSTD_execSequence()
1035 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequence()
1038 if (sequence.matchLength > 8) { in ZSTD_execSequence()
1040 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength - 8, ZSTD_overlap_src_before_dst); in ZSTD_execSequence()
1047 BYTE* const oend, const BYTE* const oend_w, seq_t sequence, in ZSTD_execSequenceSplitLitBuffer() argument
1051 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceSplitLitBuffer()
1052 size_t const sequenceLength = sequence.litLength + sequence.matchLength; in ZSTD_execSequenceSplitLitBuffer()
1054 const BYTE* const iLitEnd = *litPtr + sequence.litLength; in ZSTD_execSequenceSplitLitBuffer()
1055 const BYTE* match = oLitEnd - sequence.offset; in ZSTD_execSequenceSplitLitBuffer()
1068 …return ZSTD_execSequenceEndSplitLitBuffer(op, oend, oend_w, sequence, litPtr, litLimit, prefixStar… in ZSTD_execSequenceSplitLitBuffer()
1084 if (UNLIKELY(sequence.litLength > 16)) { in ZSTD_execSequenceSplitLitBuffer()
1085 ZSTD_wildcopy(op+16, (*litPtr)+16, sequence.litLength-16, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1088 *litPtr = iLitEnd; /* update for next sequence */ in ZSTD_execSequenceSplitLitBuffer()
1091 if (sequence.offset > (size_t)(oLitEnd - prefixStart)) { in ZSTD_execSequenceSplitLitBuffer()
1093 …RETURN_ERROR_IF(UNLIKELY(sequence.offset > (size_t)(oLitEnd - virtualStart)), corruption_detected,… in ZSTD_execSequenceSplitLitBuffer()
1095 if (match + sequence.matchLength <= dictEnd) { in ZSTD_execSequenceSplitLitBuffer()
1096 ZSTD_memmove(oLitEnd, match, sequence.matchLength); in ZSTD_execSequenceSplitLitBuffer()
1103 sequence.matchLength -= length1; in ZSTD_execSequenceSplitLitBuffer()
1110 assert(sequence.matchLength >= 1); in ZSTD_execSequenceSplitLitBuffer()
1115 if (LIKELY(sequence.offset >= WILDCOPY_VECLEN)) { in ZSTD_execSequenceSplitLitBuffer()
1120 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1123 assert(sequence.offset < WILDCOPY_VECLEN); in ZSTD_execSequenceSplitLitBuffer()
1126 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequenceSplitLitBuffer()
1129 if (sequence.matchLength > 8) { in ZSTD_execSequenceSplitLitBuffer()
1131 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength-8, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceSplitLitBuffer()
1195 /* sequence */
1297 DEBUGLOG(6, "Checking sequence: litL=%u matchL=%u offset=%u",
1361 seq_t sequence = ZSTD_decodeSequence(&seqState, isLongOffset); local
1423 for (; litPtr + sequence.litLength <= dctx->litBufferEnd; ) {
1424 …ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence.litLength - WILDCOPY_OVERLENGTH, seque…
1427 if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1431 DEBUGLOG(6, "regenerated sequence size : %u", (U32)oneSeqSize);
1436 sequence = ZSTD_decodeSequence(&seqState, isLongOffset);
1446 sequence.litLength -= leftoverLit;
1453 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixStart…
1456 … if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1460 DEBUGLOG(6, "regenerated sequence size : %u", (U32)oneSeqSize);
1489 seq_t const sequence = ZSTD_decodeSequence(&seqState, isLongOffset); local
1490 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixStart…
1493 if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1497 DEBUGLOG(6, "regenerated sequence size : %u", (U32)oneSeqSize);
1591 seq_t const sequence = ZSTD_decodeSequence(&seqState, isLongOffset); local
1592 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litEnd, prefixStart, vBas…
1595 if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1599 DEBUGLOG(6, "regenerated sequence size : %u", (U32)oneSeqSize);
1650 ZSTD_prefetchMatch(size_t prefetchPos, seq_t const sequence, argument
1653 prefetchPos += sequence.litLength;
1654 { const BYTE* const matchBase = (sequence.offset > prefetchPos) ? dictEnd : prefixStart;
1655 …const BYTE* const match = matchBase + prefetchPos - sequence.offset; /* note : this operation can …
1659 return prefetchPos + sequence.matchLength;
1710 seq_t const sequence = ZSTD_decodeSequence(&seqState, isLongOffset); local
1711 prefetchPos = ZSTD_prefetchMatch(prefetchPos, sequence, prefixStart, dictEnd);
1712 sequences[seqNb] = sequence;
1718 seq_t sequence = ZSTD_decodeSequence(&seqState, isLongOffset); local
1742 prefetchPos = ZSTD_prefetchMatch(prefetchPos, sequence, prefixStart, dictEnd);
1743 sequences[seqNb & STORED_SEQS_MASK] = sequence;
1758 prefetchPos = ZSTD_prefetchMatch(prefetchPos, sequence, prefixStart, dictEnd);
1759 sequences[seqNb & STORED_SEQS_MASK] = sequence;
1768 seq_t *sequence = &(sequences[seqNb&STORED_SEQS_MASK]); local
1769 … if (dctx->litBufferLocation == ZSTD_split && litPtr + sequence->litLength > dctx->litBufferEnd)
1776 sequence->litLength -= leftoverLit;
1783 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStar…
1795 …STD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence->litLength - WILDCOPY_OVERLENGTH, *sequ…
1796 … ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStart, dictStart, dictEnd);