Lines Matching refs:op

805 HINT_INLINE void ZSTD_overlapCopy8(BYTE** op, BYTE const** ip, size_t offset) {  in ZSTD_overlapCopy8()  argument
806 assert(*ip <= *op); in ZSTD_overlapCopy8()
812 (*op)[0] = (*ip)[0]; in ZSTD_overlapCopy8()
813 (*op)[1] = (*ip)[1]; in ZSTD_overlapCopy8()
814 (*op)[2] = (*ip)[2]; in ZSTD_overlapCopy8()
815 (*op)[3] = (*ip)[3]; in ZSTD_overlapCopy8()
817 ZSTD_copy4(*op+4, *ip); in ZSTD_overlapCopy8()
820 ZSTD_copy8(*op, *ip); in ZSTD_overlapCopy8()
823 *op += 8; in ZSTD_overlapCopy8()
824 assert(*op - *ip >= 8); in ZSTD_overlapCopy8()
838 static void ZSTD_safecopy(BYTE* op, const BYTE* const oend_w, BYTE const* ip, ptrdiff_t length, ZST… in ZSTD_safecopy() argument
839 ptrdiff_t const diff = op - ip; in ZSTD_safecopy()
840 BYTE* const oend = op + length; in ZSTD_safecopy()
842 assert((ovtype == ZSTD_no_overlap && (diff <= -8 || diff >= 8 || op >= oend_w)) || in ZSTD_safecopy()
847 while (op < oend) *op++ = *ip++; in ZSTD_safecopy()
853 ZSTD_overlapCopy8(&op, &ip, diff); in ZSTD_safecopy()
855 assert(op - ip >= 8); in ZSTD_safecopy()
856 assert(op <= oend); in ZSTD_safecopy()
861 ZSTD_wildcopy(op, ip, length, ovtype); in ZSTD_safecopy()
864 if (op <= oend_w) { in ZSTD_safecopy()
867 ZSTD_wildcopy(op, ip, oend_w - op, ovtype); in ZSTD_safecopy()
868 ip += oend_w - op; in ZSTD_safecopy()
869 op += oend_w - op; in ZSTD_safecopy()
872 while (op < oend) *op++ = *ip++; in ZSTD_safecopy()
878 static void ZSTD_safecopyDstBeforeSrc(BYTE* op, const BYTE* ip, ptrdiff_t length) { in ZSTD_safecopyDstBeforeSrc() argument
879 ptrdiff_t const diff = op - ip; in ZSTD_safecopyDstBeforeSrc()
880 BYTE* const oend = op + length; in ZSTD_safecopyDstBeforeSrc()
884 while (op < oend) *op++ = *ip++; in ZSTD_safecopyDstBeforeSrc()
888 if (op <= oend - WILDCOPY_OVERLENGTH && diff < -WILDCOPY_VECLEN) { in ZSTD_safecopyDstBeforeSrc()
889 ZSTD_wildcopy(op, ip, oend - WILDCOPY_OVERLENGTH - op, ZSTD_no_overlap); in ZSTD_safecopyDstBeforeSrc()
890 ip += oend - WILDCOPY_OVERLENGTH - op; in ZSTD_safecopyDstBeforeSrc()
891 op += oend - WILDCOPY_OVERLENGTH - op; in ZSTD_safecopyDstBeforeSrc()
895 while (op < oend) *op++ = *ip++; in ZSTD_safecopyDstBeforeSrc()
908 size_t ZSTD_execSequenceEnd(BYTE* op, in ZSTD_execSequenceEnd() argument
913 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEnd()
920 …RETURN_ERROR_IF(sequenceLength > (size_t)(oend - op), dstSize_tooSmall, "last match must fit withi… in ZSTD_execSequenceEnd()
922 assert(op < op + sequenceLength); in ZSTD_execSequenceEnd()
923 assert(oLitEnd < op + sequenceLength); in ZSTD_execSequenceEnd()
926 ZSTD_safecopy(op, oend_w, *litPtr, sequence.litLength, ZSTD_no_overlap); in ZSTD_execSequenceEnd()
927 op = oLitEnd; in ZSTD_execSequenceEnd()
942 op = oLitEnd + length1; in ZSTD_execSequenceEnd()
947 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEnd()
956 size_t ZSTD_execSequenceEndSplitLitBuffer(BYTE* op, in ZSTD_execSequenceEndSplitLitBuffer() argument
961 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEndSplitLitBuffer()
968 …RETURN_ERROR_IF(sequenceLength > (size_t)(oend - op), dstSize_tooSmall, "last match must fit withi… in ZSTD_execSequenceEndSplitLitBuffer()
970 assert(op < op + sequenceLength); in ZSTD_execSequenceEndSplitLitBuffer()
971 assert(oLitEnd < op + sequenceLength); in ZSTD_execSequenceEndSplitLitBuffer()
974 …RETURN_ERROR_IF(op > *litPtr && op < *litPtr + sequence.litLength, dstSize_tooSmall, "output shoul… in ZSTD_execSequenceEndSplitLitBuffer()
975 ZSTD_safecopyDstBeforeSrc(op, *litPtr, sequence.litLength); in ZSTD_execSequenceEndSplitLitBuffer()
976 op = oLitEnd; in ZSTD_execSequenceEndSplitLitBuffer()
991 op = oLitEnd + length1; in ZSTD_execSequenceEndSplitLitBuffer()
996 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEndSplitLitBuffer()
1002 size_t ZSTD_execSequence(BYTE* op, in ZSTD_execSequence() argument
1007 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequence()
1009 BYTE* const oMatchEnd = op + sequenceLength; /* risk : address space overflow (32-bits) */ in ZSTD_execSequence()
1014 assert(op != NULL /* Precondition */); in ZSTD_execSequence()
1029 (MEM_32bits() && (size_t)(oend - op) < sequenceLength + WILDCOPY_OVERLENGTH))) in ZSTD_execSequence()
1030 …return ZSTD_execSequenceEnd(op, oend, sequence, litPtr, litLimit, prefixStart, virtualStart, dictE… in ZSTD_execSequence()
1033 assert(op <= oLitEnd /* No overflow */); in ZSTD_execSequence()
1045 ZSTD_copy16(op, (*litPtr)); in ZSTD_execSequence()
1047 ZSTD_wildcopy(op + 16, (*litPtr) + 16, sequence.litLength - 16, ZSTD_no_overlap); in ZSTD_execSequence()
1049 op = oLitEnd; in ZSTD_execSequence()
1064 op = oLitEnd + length1; in ZSTD_execSequence()
1070 assert(op <= oMatchEnd); in ZSTD_execSequence()
1083 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequence()
1089 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequence()
1093 assert(op < oMatchEnd); in ZSTD_execSequence()
1094 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength - 8, ZSTD_overlap_src_before_dst); in ZSTD_execSequence()
1101 size_t ZSTD_execSequenceSplitLitBuffer(BYTE* op, in ZSTD_execSequenceSplitLitBuffer() argument
1106 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceSplitLitBuffer()
1108 BYTE* const oMatchEnd = op + sequenceLength; /* risk : address space overflow (32-bits) */ in ZSTD_execSequenceSplitLitBuffer()
1112 assert(op != NULL /* Precondition */); in ZSTD_execSequenceSplitLitBuffer()
1122 (MEM_32bits() && (size_t)(oend - op) < sequenceLength + WILDCOPY_OVERLENGTH))) in ZSTD_execSequenceSplitLitBuffer()
1123 …return ZSTD_execSequenceEndSplitLitBuffer(op, oend, oend_w, sequence, litPtr, litLimit, prefixStar… in ZSTD_execSequenceSplitLitBuffer()
1126 assert(op <= oLitEnd /* No overflow */); in ZSTD_execSequenceSplitLitBuffer()
1138 ZSTD_copy16(op, (*litPtr)); in ZSTD_execSequenceSplitLitBuffer()
1140 ZSTD_wildcopy(op+16, (*litPtr)+16, sequence.litLength-16, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1142 op = oLitEnd; in ZSTD_execSequenceSplitLitBuffer()
1157 op = oLitEnd + length1; in ZSTD_execSequenceSplitLitBuffer()
1162 assert(op <= oMatchEnd); in ZSTD_execSequenceSplitLitBuffer()
1175 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1181 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequenceSplitLitBuffer()
1185 assert(op < oMatchEnd); in ZSTD_execSequenceSplitLitBuffer()
1186 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength-8, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceSplitLitBuffer()
1369 BYTE const* op, BYTE const* oend, in ZSTD_assertValidSequence() argument
1377 BYTE const* const oLitEnd = op + seq.litLength; in ZSTD_assertValidSequence()
1380 assert(op <= oend); in ZSTD_assertValidSequence()
1381 assert((size_t)(oend - op) >= sequenceSize); in ZSTD_assertValidSequence()
1394 (void)dctx, (void)op, (void)oend, (void)seq, (void)prefixStart, (void)virtualStart; in ZSTD_assertValidSequence()
1413 BYTE* op = ostart; in ZSTD_decompressSequences_bodySplitLitBuffer() local
1505 …{ size_t const oneSeqSize = ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence.litLengt… in ZSTD_decompressSequences_bodySplitLitBuffer()
1508 ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase); in ZSTD_decompressSequences_bodySplitLitBuffer()
1513 op += oneSeqSize; in ZSTD_decompressSequences_bodySplitLitBuffer()
1522 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi… in ZSTD_decompressSequences_bodySplitLitBuffer()
1523 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit); in ZSTD_decompressSequences_bodySplitLitBuffer()
1525 op += leftoverLit; in ZSTD_decompressSequences_bodySplitLitBuffer()
1530 …{ size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixS… in ZSTD_decompressSequences_bodySplitLitBuffer()
1533 ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase); in ZSTD_decompressSequences_bodySplitLitBuffer()
1538 op += oneSeqSize; in ZSTD_decompressSequences_bodySplitLitBuffer()
1566 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixStart… in ZSTD_decompressSequences_bodySplitLitBuffer()
1569 ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase); in ZSTD_decompressSequences_bodySplitLitBuffer()
1574 op += oneSeqSize; in ZSTD_decompressSequences_bodySplitLitBuffer()
1592 RETURN_ERROR_IF(lastLLSize > (size_t)(oend - op), dstSize_tooSmall, ""); in ZSTD_decompressSequences_bodySplitLitBuffer()
1593 if (op != NULL) { in ZSTD_decompressSequences_bodySplitLitBuffer()
1594 ZSTD_memmove(op, litPtr, lastLLSize); in ZSTD_decompressSequences_bodySplitLitBuffer()
1595 op += lastLLSize; in ZSTD_decompressSequences_bodySplitLitBuffer()
1604 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, ""); in ZSTD_decompressSequences_bodySplitLitBuffer()
1605 if (op != NULL) { in ZSTD_decompressSequences_bodySplitLitBuffer()
1606 ZSTD_memcpy(op, litPtr, lastLLSize); in ZSTD_decompressSequences_bodySplitLitBuffer()
1607 op += lastLLSize; in ZSTD_decompressSequences_bodySplitLitBuffer()
1610 DEBUGLOG(6, "decoded block of size %u bytes", (U32)(op - ostart)); in ZSTD_decompressSequences_bodySplitLitBuffer()
1611 return (size_t)(op - ostart); in ZSTD_decompressSequences_bodySplitLitBuffer()
1625 BYTE* op = ostart; in ZSTD_decompressSequences_body() local
1662 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litEnd, prefixStart, vBas… in ZSTD_decompressSequences_body()
1665 ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase); in ZSTD_decompressSequences_body()
1670 op += oneSeqSize; in ZSTD_decompressSequences_body()
1683 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, ""); in ZSTD_decompressSequences_body()
1684 if (op != NULL) { in ZSTD_decompressSequences_body()
1685 ZSTD_memcpy(op, litPtr, lastLLSize); in ZSTD_decompressSequences_body()
1686 op += lastLLSize; in ZSTD_decompressSequences_body()
1689 DEBUGLOG(6, "decoded block of size %u bytes", (U32)(op - ostart)); in ZSTD_decompressSequences_body()
1690 return (size_t)(op - ostart); in ZSTD_decompressSequences_body()
1744 BYTE* op = ostart; in ZSTD_decompressSequencesLong_body() local
1760 size_t prefetchPos = (size_t)(op-prefixStart); /* track position relative to prefixStart */ in ZSTD_decompressSequencesLong_body()
1789 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi… in ZSTD_decompressSequencesLong_body()
1790 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit); in ZSTD_decompressSequencesLong_body()
1792 op += leftoverLit; in ZSTD_decompressSequencesLong_body()
1797 …{ size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequences[(seqNb - ADVANCED_SEQS) & STOR… in ZSTD_decompressSequencesLong_body()
1800 …ZSTD_assertValidSequence(dctx, op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK], pr… in ZSTD_decompressSequencesLong_body()
1806 op += oneSeqSize; in ZSTD_decompressSequencesLong_body()
1812 …ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS… in ZSTD_decompressSequencesLong_body()
1813 …ZSTD_execSequence(op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK], &litPtr, litBuf… in ZSTD_decompressSequencesLong_body()
1816 …ZSTD_assertValidSequence(dctx, op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK], pr… in ZSTD_decompressSequencesLong_body()
1822 op += oneSeqSize; in ZSTD_decompressSequencesLong_body()
1834 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi… in ZSTD_decompressSequencesLong_body()
1835 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit); in ZSTD_decompressSequencesLong_body()
1837 op += leftoverLit; in ZSTD_decompressSequencesLong_body()
1842 …{ size_t const oneSeqSize = ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefix… in ZSTD_decompressSequencesLong_body()
1845 …ZSTD_assertValidSequence(dctx, op, oend, sequences[seqNb&STORED_SEQS_MASK], prefixStart, dictStart… in ZSTD_decompressSequencesLong_body()
1848 op += oneSeqSize; in ZSTD_decompressSequencesLong_body()
1854 …ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence->litLength - WILDCOPY_OVERLENGTH, *seq… in ZSTD_decompressSequencesLong_body()
1855 … ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStart, dictStart, dictEnd); in ZSTD_decompressSequencesLong_body()
1858 …ZSTD_assertValidSequence(dctx, op, oend, sequences[seqNb&STORED_SEQS_MASK], prefixStart, dictStart… in ZSTD_decompressSequencesLong_body()
1861 op += oneSeqSize; in ZSTD_decompressSequencesLong_body()
1872 RETURN_ERROR_IF(lastLLSize > (size_t)(oend - op), dstSize_tooSmall, ""); in ZSTD_decompressSequencesLong_body()
1873 if (op != NULL) { in ZSTD_decompressSequencesLong_body()
1874 ZSTD_memmove(op, litPtr, lastLLSize); in ZSTD_decompressSequencesLong_body()
1875 op += lastLLSize; in ZSTD_decompressSequencesLong_body()
1881 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, ""); in ZSTD_decompressSequencesLong_body()
1882 if (op != NULL) { in ZSTD_decompressSequencesLong_body()
1883 ZSTD_memmove(op, litPtr, lastLLSize); in ZSTD_decompressSequencesLong_body()
1884 op += lastLLSize; in ZSTD_decompressSequencesLong_body()
1888 return (size_t)(op - ostart); in ZSTD_decompressSequencesLong_body()
1997 static size_t ZSTD_totalHistorySize(BYTE* op, BYTE const* virtualStart) in ZSTD_totalHistorySize() argument
1999 return (size_t)(op - virtualStart); in ZSTD_totalHistorySize()