diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-08-22 18:30:21 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-08-23 13:48:52 -0700 |
| commit | d00cc100867bbb7a5e4305a5597cb45982c4593f (patch) | |
| tree | 6c04d8c2d13a72d3a2117d6723494311d53018ed /lib/std/debug/FixedBufferReader.zig | |
| parent | 77c09d16f9d992b19bc7cb2d2497f8009e0250ba (diff) | |
| download | zig-d00cc100867bbb7a5e4305a5597cb45982c4593f.tar.gz zig-d00cc100867bbb7a5e4305a5597cb45982c4593f.zip | |
std.debug: delete MemoryAccessor
This API is based around the unsound idea that a process can perform
checked virtual memory loads to prevent crashing. This depends on
OS-specific APIs that may be unavailable, disabled, or impossible due to
virtualization.
It also makes collecting stack traces ridiculously slow, which is a
problem for users of DebugAllocator - in other words, everybody, all the
time. It also makes strace go from being superbly clean to being awful.
Diffstat (limited to 'lib/std/debug/FixedBufferReader.zig')
| -rw-r--r-- | lib/std/debug/FixedBufferReader.zig | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/lib/std/debug/FixedBufferReader.zig b/lib/std/debug/FixedBufferReader.zig index e4aec1a9c6..edf763892f 100644 --- a/lib/std/debug/FixedBufferReader.zig +++ b/lib/std/debug/FixedBufferReader.zig @@ -1,7 +1,6 @@ //! Optimized for performance in debug builds. const std = @import("../std.zig"); -const MemoryAccessor = std.debug.MemoryAccessor; const FixedBufferReader = @This(); @@ -38,17 +37,6 @@ pub fn readInt(fbr: *FixedBufferReader, comptime T: type) Error!T { return std.mem.readInt(T, fbr.buf[fbr.pos..][0..size], fbr.endian); } -pub fn readIntChecked( - fbr: *FixedBufferReader, - comptime T: type, - ma: *MemoryAccessor, -) Error!T { - if (ma.load(T, @intFromPtr(fbr.buf[fbr.pos..].ptr)) == null) - return error.InvalidBuffer; - - return fbr.readInt(T); -} - pub fn readUleb128(fbr: *FixedBufferReader, comptime T: type) Error!T { return std.leb.readUleb128(T, fbr); } @@ -64,17 +52,6 @@ pub fn readAddress(fbr: *FixedBufferReader, format: std.dwarf.Format) Error!u64 }; } -pub fn readAddressChecked( - fbr: *FixedBufferReader, - format: std.dwarf.Format, - ma: *MemoryAccessor, -) Error!u64 { - return switch (format) { - .@"32" => try fbr.readIntChecked(u32, ma), - .@"64" => try fbr.readIntChecked(u64, ma), - }; -} - pub fn readBytes(fbr: *FixedBufferReader, len: usize) Error![]const u8 { if (fbr.buf.len - fbr.pos < len) return error.EndOfBuffer; defer fbr.pos += len; |
