mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
std: replace various mem copies with @memmove
This commit is contained in:
parent
82961a8c9f
commit
6f545683f3
5 changed files with 16 additions and 26 deletions
|
|
@ -1006,7 +1006,7 @@ fn serializeIpc(start_serialized_len: usize, serialized_buffer: *Serialized.Buff
|
|||
continue;
|
||||
}
|
||||
const src = pipe_buf[m.remaining_read_trash_bytes..n];
|
||||
std.mem.copyForwards(u8, &pipe_buf, src);
|
||||
@memmove(pipe_buf[0..src.len], src);
|
||||
m.remaining_read_trash_bytes = 0;
|
||||
bytes_read = src.len;
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ pub fn ArrayListAligned(comptime T: type, comptime alignment: ?mem.Alignment) ty
|
|||
assert(self.items.len < self.capacity);
|
||||
self.items.len += 1;
|
||||
|
||||
mem.copyBackwards(T, self.items[i + 1 .. self.items.len], self.items[i .. self.items.len - 1]);
|
||||
@memmove(self.items[i + 1 .. self.items.len], self.items[i .. self.items.len - 1]);
|
||||
self.items[i] = item;
|
||||
}
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ pub fn ArrayListAligned(comptime T: type, comptime alignment: ?mem.Alignment) ty
|
|||
assert(self.capacity >= new_len);
|
||||
const to_move = self.items[index..];
|
||||
self.items.len = new_len;
|
||||
mem.copyBackwards(T, self.items[index + count ..], to_move);
|
||||
@memmove(self.items[index + count ..][0..to_move.len], to_move);
|
||||
const result = self.items[index..][0..count];
|
||||
@memset(result, undefined);
|
||||
return result;
|
||||
|
|
@ -746,7 +746,7 @@ pub fn ArrayListAlignedUnmanaged(comptime T: type, comptime alignment: ?mem.Alig
|
|||
assert(self.items.len < self.capacity);
|
||||
self.items.len += 1;
|
||||
|
||||
mem.copyBackwards(T, self.items[i + 1 .. self.items.len], self.items[i .. self.items.len - 1]);
|
||||
@memmove(self.items[i + 1 .. self.items.len], self.items[i .. self.items.len - 1]);
|
||||
self.items[i] = item;
|
||||
}
|
||||
|
||||
|
|
@ -782,7 +782,7 @@ pub fn ArrayListAlignedUnmanaged(comptime T: type, comptime alignment: ?mem.Alig
|
|||
assert(self.capacity >= new_len);
|
||||
const to_move = self.items[index..];
|
||||
self.items.len = new_len;
|
||||
mem.copyBackwards(T, self.items[index + count ..], to_move);
|
||||
@memmove(self.items[index + count ..][0..to_move.len], to_move);
|
||||
const result = self.items[index..][0..count];
|
||||
@memset(result, undefined);
|
||||
return result;
|
||||
|
|
@ -848,11 +848,8 @@ pub fn ArrayListAlignedUnmanaged(comptime T: type, comptime alignment: ?mem.Alig
|
|||
} else {
|
||||
const extra = range.len - new_items.len;
|
||||
@memcpy(range[0..new_items.len], new_items);
|
||||
std.mem.copyForwards(
|
||||
T,
|
||||
self.items[after_range - extra ..],
|
||||
self.items[after_range..],
|
||||
);
|
||||
const src = self.items[after_range..];
|
||||
@memmove(self.items[after_range - extra ..][0..src.len], src);
|
||||
@memset(self.items[self.items.len - extra ..], undefined);
|
||||
self.items.len -= extra;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1710,7 +1710,7 @@ pub const Mutable = struct {
|
|||
|
||||
if (xy_trailing != 0 and r.limbs[r.len - 1] != 0) {
|
||||
// Manually shift here since we know its limb aligned.
|
||||
mem.copyBackwards(Limb, r.limbs[xy_trailing..], r.limbs[0..r.len]);
|
||||
@memmove(r.limbs[xy_trailing..][0..r.len], r.limbs[0..r.len]);
|
||||
@memset(r.limbs[0..xy_trailing], 0);
|
||||
r.len += xy_trailing;
|
||||
}
|
||||
|
|
@ -3836,8 +3836,7 @@ fn llshl(r: []Limb, a: []const Limb, shift: usize) usize {
|
|||
std.debug.assert(@intFromPtr(r.ptr) >= @intFromPtr(a.ptr));
|
||||
|
||||
if (shift == 0) {
|
||||
if (a.ptr != r.ptr)
|
||||
std.mem.copyBackwards(Limb, r[0..a.len], a);
|
||||
if (a.ptr != r.ptr) @memmove(r[0..a.len], a);
|
||||
return a.len;
|
||||
}
|
||||
if (shift >= limb_bits) {
|
||||
|
|
@ -3891,8 +3890,7 @@ fn llshr(r: []Limb, a: []const Limb, shift: usize) usize {
|
|||
if (shift == 0) {
|
||||
std.debug.assert(r.len >= a.len);
|
||||
|
||||
if (a.ptr != r.ptr)
|
||||
std.mem.copyForwards(Limb, r[0..a.len], a);
|
||||
if (a.ptr != r.ptr) @memmove(r[0..a.len], a);
|
||||
return a.len;
|
||||
}
|
||||
if (shift >= limb_bits) {
|
||||
|
|
|
|||
|
|
@ -1332,7 +1332,7 @@ pub fn GetFinalPathNameByHandle(
|
|||
// dropping the \Device\Mup\ and making sure the path begins with \\
|
||||
if (mem.eql(u16, device_name_u16, std.unicode.utf8ToUtf16LeStringLiteral("Mup"))) {
|
||||
out_buffer[0] = '\\';
|
||||
mem.copyForwards(u16, out_buffer[1..][0..file_name_u16.len], file_name_u16);
|
||||
@memmove(out_buffer[1..][0..file_name_u16.len], file_name_u16);
|
||||
return out_buffer[0 .. 1 + file_name_u16.len];
|
||||
}
|
||||
|
||||
|
|
@ -1400,7 +1400,7 @@ pub fn GetFinalPathNameByHandle(
|
|||
if (out_buffer.len < drive_letter.len + file_name_u16.len) return error.NameTooLong;
|
||||
|
||||
@memcpy(out_buffer[0..drive_letter.len], drive_letter);
|
||||
mem.copyForwards(u16, out_buffer[drive_letter.len..][0..file_name_u16.len], file_name_u16);
|
||||
@memmove(out_buffer[drive_letter.len..][0..file_name_u16.len], file_name_u16);
|
||||
const total_len = drive_letter.len + file_name_u16.len;
|
||||
|
||||
// Validate that DOS does not contain any spurious nul bytes.
|
||||
|
|
@ -1449,12 +1449,7 @@ pub fn GetFinalPathNameByHandle(
|
|||
// to copy backwards. We also need to do this before copying the volume path because
|
||||
// it could overwrite the file_name_u16 memory.
|
||||
const file_name_dest = out_buffer[volume_path.len..][0..file_name_u16.len];
|
||||
const file_name_byte_offset = @intFromPtr(file_name_u16.ptr) - @intFromPtr(out_buffer.ptr);
|
||||
const file_name_index = file_name_byte_offset / @sizeOf(u16);
|
||||
if (volume_path.len > file_name_index)
|
||||
mem.copyBackwards(u16, file_name_dest, file_name_u16)
|
||||
else
|
||||
mem.copyForwards(u16, file_name_dest, file_name_u16);
|
||||
@memmove(file_name_dest, file_name_u16);
|
||||
@memcpy(out_buffer[0..volume_path.len], volume_path);
|
||||
const total_len = volume_path.len + file_name_u16.len;
|
||||
|
||||
|
|
|
|||
|
|
@ -2631,7 +2631,7 @@ fn reparentOwnedErrorMsg(
|
|||
|
||||
const orig_notes = msg.notes.len;
|
||||
msg.notes = try sema.gpa.realloc(msg.notes, orig_notes + 1);
|
||||
std.mem.copyBackwards(Zcu.ErrorMsg, msg.notes[1..], msg.notes[0..orig_notes]);
|
||||
@memmove(msg.notes[1..][0..orig_notes], msg.notes[0..orig_notes]);
|
||||
msg.notes[0] = .{
|
||||
.src_loc = msg.src_loc,
|
||||
.msg = msg.msg,
|
||||
|
|
@ -14464,8 +14464,8 @@ fn analyzeTupleMul(
|
|||
}
|
||||
}
|
||||
for (0..factor) |i| {
|
||||
mem.copyForwards(InternPool.Index, types[tuple_len * i ..], types[0..tuple_len]);
|
||||
mem.copyForwards(InternPool.Index, values[tuple_len * i ..], values[0..tuple_len]);
|
||||
@memmove(types[tuple_len * i ..][0..tuple_len], types[0..tuple_len]);
|
||||
@memmove(values[tuple_len * i ..][0..tuple_len], values[0..tuple_len]);
|
||||
}
|
||||
break :rs runtime_src;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue