diff options
| author | tgschultz <tgschultz@gmail.com> | 2020-11-16 17:51:54 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-16 18:51:54 -0500 |
| commit | 48d60834fd61404ea009f7f970775f9c59de1240 (patch) | |
| tree | bea3b1427db82fc781e216933fe44dc5b20fdb3f /src/link | |
| parent | d9c36cb2506f1b8cb30c7e9e108c6005eea7cf66 (diff) | |
| download | zig-48d60834fd61404ea009f7f970775f9c59de1240.tar.gz zig-48d60834fd61404ea009f7f970775f9c59de1240.zip | |
Move leb128 and remove trivial *mem functions as discussed in #5588 (#6876)
* Move leb128 out of debug and remove trivial *mem functions as discussed in #5588
* Turns out one of the *Mem functions was used by MachO. Replaced with trivial use of FixedBufferStream.
Diffstat (limited to 'src/link')
| -rw-r--r-- | src/link/Elf.zig | 2 | ||||
| -rw-r--r-- | src/link/MachO/Trie.zig | 19 | ||||
| -rw-r--r-- | src/link/Wasm.zig | 2 |
3 files changed, 13 insertions, 10 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 7d4662c68d..94a946c3c7 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -8,7 +8,7 @@ const fs = std.fs; const elf = std.elf; const log = std.log.scoped(.link); const DW = std.dwarf; -const leb128 = std.debug.leb; +const leb128 = std.leb; const ir = @import("../ir.zig"); const Module = @import("../Module.zig"); diff --git a/src/link/MachO/Trie.zig b/src/link/MachO/Trie.zig index e077df101d..34ce4e99b9 100644 --- a/src/link/MachO/Trie.zig +++ b/src/link/MachO/Trie.zig @@ -32,7 +32,7 @@ const Trie = @This(); const std = @import("std"); const mem = std.mem; -const leb = std.debug.leb; +const leb = std.leb; const log = std.log.scoped(.link); const testing = std.testing; const assert = std.debug.assert; @@ -139,16 +139,18 @@ const Node = struct { // Terminal node info: encode export flags and vmaddr offset of this symbol. var info_buf_len: usize = 0; var info_buf: [@sizeOf(u64) * 2]u8 = undefined; - info_buf_len += try leb.writeULEB128Mem(info_buf[0..], self.export_flags.?); - info_buf_len += try leb.writeULEB128Mem(info_buf[info_buf_len..], offset); + var info_stream = std.io.fixedBufferStream(&info_buf); + try leb.writeULEB128(info_stream.writer(), self.export_flags.?); + try leb.writeULEB128(info_stream.writer(), offset); // Encode the size of the terminal node info. var size_buf: [@sizeOf(u64)]u8 = undefined; - const size_buf_len = try leb.writeULEB128Mem(size_buf[0..], info_buf_len); + var size_stream = std.io.fixedBufferStream(&size_buf); + try leb.writeULEB128(size_stream.writer(), info_stream.pos); // Now, write them to the output buffer. - buffer.appendSliceAssumeCapacity(size_buf[0..size_buf_len]); - buffer.appendSliceAssumeCapacity(info_buf[0..info_buf_len]); + buffer.appendSliceAssumeCapacity(size_buf[0..size_stream.pos]); + buffer.appendSliceAssumeCapacity(info_buf[0..info_stream.pos]); } else { // Non-terminal node is delimited by 0 byte. buffer.appendAssumeCapacity(0); @@ -162,8 +164,9 @@ const Node = struct { buffer.appendAssumeCapacity(0); var buf: [@sizeOf(u64)]u8 = undefined; - const buf_len = try leb.writeULEB128Mem(buf[0..], edge.to.trie_offset.?); - buffer.appendSliceAssumeCapacity(buf[0..buf_len]); + var buf_stream = std.io.fixedBufferStream(&buf); + try leb.writeULEB128(buf_stream.writer(), edge.to.trie_offset.?); + buffer.appendSliceAssumeCapacity(buf[0..buf_stream.pos]); } } diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index 2ab757461c..bf6b34ed76 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -5,7 +5,7 @@ const mem = std.mem; const Allocator = std.mem.Allocator; const assert = std.debug.assert; const fs = std.fs; -const leb = std.debug.leb; +const leb = std.leb; const log = std.log.scoped(.link); const Module = @import("../Module.zig"); |
