Skip to content

Commit e792fb2

Browse files
committed
fn ZSTD_execSequence: use Writer
1 parent 76e41c7 commit e792fb2

File tree

1 file changed

+11
-31
lines changed

1 file changed

+11
-31
lines changed

lib/decompress/zstd_decompress_block.rs

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,32 +1304,9 @@ unsafe fn ZSTD_execSequenceEndSplitLitBuffer(
13041304
sequenceLength
13051305
}
13061306

1307-
#[inline(always)]
1308-
unsafe fn ZSTD_execSequence_writer(
1309-
mut dst: Writer<'_>,
1310-
sequence: seq_t,
1311-
litPtr: &mut *const u8,
1312-
litLimit: *const u8,
1313-
prefixStart: *const u8,
1314-
virtualStart: *const u8,
1315-
dictEnd: *const u8,
1316-
) -> size_t {
1317-
let range = dst.as_mut_ptr_range();
1318-
ZSTD_execSequence(
1319-
range.start,
1320-
range.end,
1321-
sequence,
1322-
litPtr,
1323-
litLimit,
1324-
prefixStart,
1325-
virtualStart,
1326-
dictEnd,
1327-
)
1328-
}
1329-
13301307
#[inline(always)]
13311308
unsafe fn ZSTD_execSequence(
1332-
mut op: *mut u8,
1309+
mut op: Writer<'_>,
13331310
oend: *mut u8,
13341311
mut sequence: seq_t,
13351312
litPtr: &mut *const u8,
@@ -1338,6 +1315,7 @@ unsafe fn ZSTD_execSequence(
13381315
virtualStart: *const u8,
13391316
dictEnd: *const u8,
13401317
) -> size_t {
1318+
let mut op = op.as_mut_ptr();
13411319
let oLitEnd = op.add(sequence.litLength);
13421320
let sequenceLength = (sequence.litLength).wrapping_add(sequence.matchLength);
13431321
let oMatchEnd = op.add(sequenceLength);
@@ -1817,8 +1795,9 @@ unsafe fn ZSTD_decompressSequences_bodySplitLitBuffer(
18171795
litPtr = dctx.litExtraBuffer.as_mut_ptr();
18181796
litBufferEnd = dctx.litExtraBuffer[ZSTD_LITBUFFEREXTRASIZE..].as_mut_ptr();
18191797
dctx.litBufferLocation = LitLocation::ZSTD_not_in_dst;
1820-
let oneSeqSize_0 = ZSTD_execSequence_writer(
1798+
let oneSeqSize_0 = ZSTD_execSequence(
18211799
op.subslice(..),
1800+
op.as_mut_ptr_range().end,
18221801
sequence,
18231802
&mut litPtr,
18241803
litBufferEnd,
@@ -1849,8 +1828,9 @@ unsafe fn ZSTD_decompressSequences_bodySplitLitBuffer(
18491828

18501829
while nbSeq != 0 {
18511830
let sequence_0 = ZSTD_decodeSequence(&mut seqState, offset, nbSeq == 1);
1852-
let oneSeqSize_1 = ZSTD_execSequence_writer(
1831+
let oneSeqSize_1 = ZSTD_execSequence(
18531832
op.subslice(..),
1833+
op.as_mut_ptr_range().end,
18541834
sequence_0,
18551835
&mut litPtr,
18561836
litBufferEnd,
@@ -1943,7 +1923,7 @@ unsafe fn ZSTD_decompressSequences_body(
19431923
for nbSeq in (1..=nbSeq).rev() {
19441924
let sequence = ZSTD_decodeSequence(&mut seqState, offset, nbSeq == 1);
19451925
let oneSeqSize = ZSTD_execSequence(
1946-
op.as_mut_ptr(),
1926+
op.subslice(..),
19471927
oend,
19481928
sequence,
19491929
&mut litPtr,
@@ -2094,7 +2074,7 @@ unsafe fn ZSTD_decompressSequencesLong_body(
20942074
litBufferEnd = dctx.litExtraBuffer[ZSTD_LITBUFFEREXTRASIZE..].as_mut_ptr();
20952075
dctx.litBufferLocation = LitLocation::ZSTD_not_in_dst;
20962076
let oneSeqSize = ZSTD_execSequence(
2097-
op.as_mut_ptr(),
2077+
op.subslice(..),
20982078
oend,
20992079
sequences[((seqNb - ADVANCED_SEQS) & STORED_SEQS_MASK) as usize],
21002080
&mut litPtr,
@@ -2127,7 +2107,7 @@ unsafe fn ZSTD_decompressSequencesLong_body(
21272107
)
21282108
} else {
21292109
ZSTD_execSequence(
2130-
op.as_mut_ptr(),
2110+
op.subslice(..),
21312111
oend,
21322112
sequence,
21332113
&mut litPtr,
@@ -2169,7 +2149,7 @@ unsafe fn ZSTD_decompressSequencesLong_body(
21692149
litBufferEnd = dctx.litExtraBuffer[ZSTD_LITBUFFEREXTRASIZE..].as_mut_ptr();
21702150
dctx.litBufferLocation = LitLocation::ZSTD_not_in_dst;
21712151
let oneSeqSize_1 = ZSTD_execSequence(
2172-
op.as_mut_ptr(),
2152+
op.subslice(..),
21732153
oend,
21742154
*sequence,
21752155
&mut litPtr,
@@ -2197,7 +2177,7 @@ unsafe fn ZSTD_decompressSequencesLong_body(
21972177
)
21982178
} else {
21992179
ZSTD_execSequence(
2200-
op.as_mut_ptr(),
2180+
op.subslice(..),
22012181
oend,
22022182
*sequence,
22032183
&mut litPtr,

0 commit comments

Comments
 (0)