diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-04-29 00:19:55 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-29 00:19:55 -0700 |
| commit | d65b42e07caa00dfe2f2fbf221c593ce57882784 (patch) | |
| tree | 7926cbea1499e0affe930bf6d7455dc24adf014e /lib/std/io | |
| parent | fd6200eda6d4fe19c34a59430a88a9ce38d6d7a4 (diff) | |
| parent | fa200ca0cad2705bad40eb723dedf4e3bf11f2ff (diff) | |
| download | zig-d65b42e07caa00dfe2f2fbf221c593ce57882784.tar.gz zig-d65b42e07caa00dfe2f2fbf221c593ce57882784.zip | |
Merge pull request #15481 from ziglang/use-mem-intrinsics
actually use the new memory intrinsics
Diffstat (limited to 'lib/std/io')
| -rw-r--r-- | lib/std/io/buffered_reader.zig | 11 | ||||
| -rw-r--r-- | lib/std/io/buffered_writer.zig | 5 | ||||
| -rw-r--r-- | lib/std/io/fixed_buffer_stream.zig | 6 | ||||
| -rw-r--r-- | lib/std/io/writer.zig | 2 |
4 files changed, 11 insertions, 13 deletions
diff --git a/lib/std/io/buffered_reader.zig b/lib/std/io/buffered_reader.zig index 2f6677c6a5..efc1d78cc4 100644 --- a/lib/std/io/buffered_reader.zig +++ b/lib/std/io/buffered_reader.zig @@ -20,8 +20,8 @@ pub fn BufferedReader(comptime buffer_size: usize, comptime ReaderType: type) ty var dest_index: usize = 0; while (dest_index < dest.len) { - const written = std.math.min(dest.len - dest_index, self.end - self.start); - std.mem.copy(u8, dest[dest_index..], self.buf[self.start .. self.start + written]); + const written = @min(dest.len - dest_index, self.end - self.start); + @memcpy(dest[dest_index..][0..written], self.buf[self.start..][0..written]); if (written == 0) { // buf empty, fill it const n = try self.unbuffered_reader.read(self.buf[0..]); @@ -115,11 +115,8 @@ test "io.BufferedReader Block" { } fn read(self: *Self, dest: []u8) Error!usize { - if (self.curr_read >= self.reads_allowed) { - return 0; - } - std.debug.assert(dest.len >= self.block.len); - std.mem.copy(u8, dest, self.block); + if (self.curr_read >= self.reads_allowed) return 0; + @memcpy(dest[0..self.block.len], self.block); self.curr_read += 1; return self.block.len; diff --git a/lib/std/io/buffered_writer.zig b/lib/std/io/buffered_writer.zig index 497a1810a7..906d6cce49 100644 --- a/lib/std/io/buffered_writer.zig +++ b/lib/std/io/buffered_writer.zig @@ -30,8 +30,9 @@ pub fn BufferedWriter(comptime buffer_size: usize, comptime WriterType: type) ty return self.unbuffered_writer.write(bytes); } - mem.copy(u8, self.buf[self.end..], bytes); - self.end += bytes.len; + const new_end = self.end + bytes.len; + @memcpy(self.buf[self.end..new_end], bytes); + self.end = new_end; return bytes.len; } }; diff --git a/lib/std/io/fixed_buffer_stream.zig b/lib/std/io/fixed_buffer_stream.zig index 2fcb260c72..c170dd1f74 100644 --- a/lib/std/io/fixed_buffer_stream.zig +++ b/lib/std/io/fixed_buffer_stream.zig @@ -45,10 +45,10 @@ pub fn FixedBufferStream(comptime Buffer: type) type { } pub fn read(self: *Self, dest: []u8) ReadError!usize { - const size = std.math.min(dest.len, self.buffer.len - self.pos); + const size = @min(dest.len, self.buffer.len - self.pos); const end = self.pos + size; - mem.copy(u8, dest[0..size], self.buffer[self.pos..end]); + @memcpy(dest[0..size], self.buffer[self.pos..end]); self.pos = end; return size; @@ -67,7 +67,7 @@ pub fn FixedBufferStream(comptime Buffer: type) type { else self.buffer.len - self.pos; - mem.copy(u8, self.buffer[self.pos .. self.pos + n], bytes[0..n]); + @memcpy(self.buffer[self.pos..][0..n], bytes[0..n]); self.pos += n; if (n == 0) return error.NoSpaceLeft; diff --git a/lib/std/io/writer.zig b/lib/std/io/writer.zig index 3160c37ff2..f4b2643e77 100644 --- a/lib/std/io/writer.zig +++ b/lib/std/io/writer.zig @@ -35,7 +35,7 @@ pub fn Writer( pub fn writeByteNTimes(self: Self, byte: u8, n: usize) Error!void { var bytes: [256]u8 = undefined; - mem.set(u8, bytes[0..], byte); + @memset(bytes[0..], byte); var remaining: usize = n; while (remaining > 0) { |
