aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug/FixedBufferReader.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-08-22 18:30:21 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-08-23 13:48:52 -0700
commitd00cc100867bbb7a5e4305a5597cb45982c4593f (patch)
tree6c04d8c2d13a72d3a2117d6723494311d53018ed /lib/std/debug/FixedBufferReader.zig
parent77c09d16f9d992b19bc7cb2d2497f8009e0250ba (diff)
downloadzig-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.zig23
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;