Lines Matching refs:op
759 HINT_INLINE void ZSTD_overlapCopy8(BYTE** op, BYTE const** ip, size_t offset) { in ZSTD_overlapCopy8() argument
760 assert(*ip <= *op); in ZSTD_overlapCopy8()
766 (*op)[0] = (*ip)[0]; in ZSTD_overlapCopy8()
767 (*op)[1] = (*ip)[1]; in ZSTD_overlapCopy8()
768 (*op)[2] = (*ip)[2]; in ZSTD_overlapCopy8()
769 (*op)[3] = (*ip)[3]; in ZSTD_overlapCopy8()
771 ZSTD_copy4(*op+4, *ip); in ZSTD_overlapCopy8()
774 ZSTD_copy8(*op, *ip); in ZSTD_overlapCopy8()
777 *op += 8; in ZSTD_overlapCopy8()
778 assert(*op - *ip >= 8); in ZSTD_overlapCopy8()
792 static void ZSTD_safecopy(BYTE* op, const BYTE* const oend_w, BYTE const* ip, ptrdiff_t length, ZST… in ZSTD_safecopy() argument
793 ptrdiff_t const diff = op - ip; in ZSTD_safecopy()
794 BYTE* const oend = op + length; in ZSTD_safecopy()
796 assert((ovtype == ZSTD_no_overlap && (diff <= -8 || diff >= 8 || op >= oend_w)) || in ZSTD_safecopy()
801 while (op < oend) *op++ = *ip++; in ZSTD_safecopy()
807 ZSTD_overlapCopy8(&op, &ip, diff); in ZSTD_safecopy()
809 assert(op - ip >= 8); in ZSTD_safecopy()
810 assert(op <= oend); in ZSTD_safecopy()
815 ZSTD_wildcopy(op, ip, length, ovtype); in ZSTD_safecopy()
818 if (op <= oend_w) { in ZSTD_safecopy()
821 ZSTD_wildcopy(op, ip, oend_w - op, ovtype); in ZSTD_safecopy()
822 ip += oend_w - op; in ZSTD_safecopy()
823 op += oend_w - op; in ZSTD_safecopy()
826 while (op < oend) *op++ = *ip++; in ZSTD_safecopy()
832 static void ZSTD_safecopyDstBeforeSrc(BYTE* op, BYTE const* ip, ptrdiff_t length) { in ZSTD_safecopyDstBeforeSrc() argument
833 ptrdiff_t const diff = op - ip; in ZSTD_safecopyDstBeforeSrc()
834 BYTE* const oend = op + length; in ZSTD_safecopyDstBeforeSrc()
838 while (op < oend) *op++ = *ip++; in ZSTD_safecopyDstBeforeSrc()
842 if (op <= oend - WILDCOPY_OVERLENGTH && diff < -WILDCOPY_VECLEN) { in ZSTD_safecopyDstBeforeSrc()
843 ZSTD_wildcopy(op, ip, oend - WILDCOPY_OVERLENGTH - op, ZSTD_no_overlap); in ZSTD_safecopyDstBeforeSrc()
844 ip += oend - WILDCOPY_OVERLENGTH - op; in ZSTD_safecopyDstBeforeSrc()
845 op += oend - WILDCOPY_OVERLENGTH - op; in ZSTD_safecopyDstBeforeSrc()
849 while (op < oend) *op++ = *ip++; in ZSTD_safecopyDstBeforeSrc()
861 size_t ZSTD_execSequenceEnd(BYTE* op, in ZSTD_execSequenceEnd() argument
866 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEnd()
873 …RETURN_ERROR_IF(sequenceLength > (size_t)(oend - op), dstSize_tooSmall, "last match must fit withi… in ZSTD_execSequenceEnd()
875 assert(op < op + sequenceLength); in ZSTD_execSequenceEnd()
876 assert(oLitEnd < op + sequenceLength); in ZSTD_execSequenceEnd()
879 ZSTD_safecopy(op, oend_w, *litPtr, sequence.litLength, ZSTD_no_overlap); in ZSTD_execSequenceEnd()
880 op = oLitEnd; in ZSTD_execSequenceEnd()
895 op = oLitEnd + length1; in ZSTD_execSequenceEnd()
900 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEnd()
908 size_t ZSTD_execSequenceEndSplitLitBuffer(BYTE* op, in ZSTD_execSequenceEndSplitLitBuffer() argument
913 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceEndSplitLitBuffer()
920 …RETURN_ERROR_IF(sequenceLength > (size_t)(oend - op), dstSize_tooSmall, "last match must fit withi… in ZSTD_execSequenceEndSplitLitBuffer()
922 assert(op < op + sequenceLength); in ZSTD_execSequenceEndSplitLitBuffer()
923 assert(oLitEnd < op + sequenceLength); 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()
928 op = oLitEnd; in ZSTD_execSequenceEndSplitLitBuffer()
943 op = oLitEnd + length1; in ZSTD_execSequenceEndSplitLitBuffer()
948 ZSTD_safecopy(op, oend_w, match, sequence.matchLength, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceEndSplitLitBuffer()
953 size_t ZSTD_execSequence(BYTE* op, in ZSTD_execSequence() argument
958 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequence()
960 BYTE* const oMatchEnd = op + sequenceLength; /* risk : address space overflow (32-bits) */ in ZSTD_execSequence()
965 assert(op != NULL /* Precondition */); in ZSTD_execSequence()
975 (MEM_32bits() && (size_t)(oend - op) < sequenceLength + WILDCOPY_OVERLENGTH))) in ZSTD_execSequence()
976 …return ZSTD_execSequenceEnd(op, oend, sequence, litPtr, litLimit, prefixStart, virtualStart, dictE… in ZSTD_execSequence()
979 assert(op <= oLitEnd /* No overflow */); in ZSTD_execSequence()
991 ZSTD_copy16(op, (*litPtr)); in ZSTD_execSequence()
993 ZSTD_wildcopy(op + 16, (*litPtr) + 16, sequence.litLength - 16, ZSTD_no_overlap); in ZSTD_execSequence()
995 op = oLitEnd; in ZSTD_execSequence()
1010 op = oLitEnd + length1; in ZSTD_execSequence()
1016 assert(op <= oMatchEnd); in ZSTD_execSequence()
1029 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequence()
1035 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequence()
1039 assert(op < oMatchEnd); in ZSTD_execSequence()
1040 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength - 8, ZSTD_overlap_src_before_dst); in ZSTD_execSequence()
1046 size_t ZSTD_execSequenceSplitLitBuffer(BYTE* op, in ZSTD_execSequenceSplitLitBuffer() argument
1051 BYTE* const oLitEnd = op + sequence.litLength; in ZSTD_execSequenceSplitLitBuffer()
1053 BYTE* const oMatchEnd = op + sequenceLength; /* risk : address space overflow (32-bits) */ in ZSTD_execSequenceSplitLitBuffer()
1057 assert(op != NULL /* Precondition */); in ZSTD_execSequenceSplitLitBuffer()
1067 (MEM_32bits() && (size_t)(oend - op) < sequenceLength + WILDCOPY_OVERLENGTH))) in ZSTD_execSequenceSplitLitBuffer()
1068 …return ZSTD_execSequenceEndSplitLitBuffer(op, oend, oend_w, sequence, litPtr, litLimit, prefixStar… in ZSTD_execSequenceSplitLitBuffer()
1071 assert(op <= oLitEnd /* No overflow */); in ZSTD_execSequenceSplitLitBuffer()
1083 ZSTD_copy16(op, (*litPtr)); in ZSTD_execSequenceSplitLitBuffer()
1085 ZSTD_wildcopy(op+16, (*litPtr)+16, sequence.litLength-16, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1087 op = oLitEnd; in ZSTD_execSequenceSplitLitBuffer()
1102 op = oLitEnd + length1; in ZSTD_execSequenceSplitLitBuffer()
1107 assert(op <= oMatchEnd); in ZSTD_execSequenceSplitLitBuffer()
1120 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength, ZSTD_no_overlap); in ZSTD_execSequenceSplitLitBuffer()
1126 ZSTD_overlapCopy8(&op, &match, sequence.offset); in ZSTD_execSequenceSplitLitBuffer()
1130 assert(op < oMatchEnd); in ZSTD_execSequenceSplitLitBuffer()
1131 ZSTD_wildcopy(op, match, (ptrdiff_t)sequence.matchLength-8, ZSTD_overlap_src_before_dst); in ZSTD_execSequenceSplitLitBuffer()
1289 BYTE const* op, BYTE const* oend, argument
1296 BYTE const* const oLitEnd = op + seq.litLength;
1299 assert(op <= oend);
1300 assert((size_t)(oend - op) >= sequenceSize);
1312 (void)dctx, (void)op, (void)oend, (void)seq, (void)prefixStart, (void)virtualStart;
1332 BYTE* op = ostart; local
1424 …size_t const oneSeqSize = ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence.litLength - …
1427 if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1432 op += oneSeqSize;
1444 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi…
1445 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit);
1447 op += 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);
1461 op += oneSeqSize;
1490 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixStart…
1493 if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequence, prefixStart, vBase);
1498 op += oneSeqSize;
1517 RETURN_ERROR_IF(lastLLSize > (size_t)(oend - op), dstSize_tooSmall, "");
1518 if (op != NULL) {
1519 ZSTD_memmove(op, litPtr, lastLLSize);
1520 op += lastLLSize;
1527 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, "");
1528 if (op != NULL) {
1529 ZSTD_memcpy(op, litPtr, lastLLSize);
1530 op += lastLLSize;
1534 return op-ostart;
1549 BYTE* op = ostart; 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);
1600 op += oneSeqSize;
1616 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, "");
1617 if (op != NULL) {
1618 ZSTD_memcpy(op, litPtr, lastLLSize);
1619 op += lastLLSize;
1623 return op-ostart;
1678 BYTE* op = ostart; local
1695 size_t prefetchPos = (size_t)(op-prefixStart); /* track position relative to prefixStart */
1727 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi…
1728 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit);
1730 op += leftoverLit;
1735 …oneSeqSize = ZSTD_execSequence(op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK], &l…
1738 …if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQ…
1744 op += oneSeqSize;
1750 …ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS…
1751 …ZSTD_execSequence(op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK], &litPtr, litBuf…
1754 …if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequences[(seqNb - ADVANCED_SEQS) & STORED_SEQ…
1760 op += oneSeqSize;
1774 …RETURN_ERROR_IF(leftoverLit > (size_t)(oend - op), dstSize_tooSmall, "remaining lit must fit withi…
1775 ZSTD_safecopyDstBeforeSrc(op, litPtr, leftoverLit);
1777 op += leftoverLit;
1783 …size_t const oneSeqSize = ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStar…
1786 …if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequences[seqNb&STORED_SEQS_MASK], prefixStart…
1789 op += oneSeqSize;
1795 …ZSTD_execSequenceSplitLitBuffer(op, oend, litPtr + sequence->litLength - WILDCOPY_OVERLENGTH, *seq…
1796 … ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStart, dictStart, dictEnd);
1799 …if (frame) ZSTD_assertValidSequence(dctx, op, oend, sequences[seqNb&STORED_SEQS_MASK], prefixStart…
1802 op += oneSeqSize;
1814 RETURN_ERROR_IF(lastLLSize > (size_t)(oend - op), dstSize_tooSmall, "");
1815 if (op != NULL) {
1816 ZSTD_memmove(op, litPtr, lastLLSize);
1817 op += lastLLSize;
1823 RETURN_ERROR_IF(lastLLSize > (size_t)(oend-op), dstSize_tooSmall, "");
1824 if (op != NULL) {
1825 ZSTD_memmove(op, litPtr, lastLLSize);
1826 op += lastLLSize;
1830 return op-ostart;