authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-11 15:01:21-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-11 15:01:54-04:00
log67491a4222f2dacf047989329d4c16a5a2f163d5
tree0001a1a62f9d8b2550c78ced8275478e043c87f4
parentc9b2210fcf58d9e99851ad2a6a1219c997cf0d82
signaturelock-open Commit is signed but in an unrecognized format.

disable runtime safety in std.io.InStream

Let's not be writing 0xaa in safe modes for upwards of 4 MiB for every stream read. This is equivalent to the fact that we don't memset the entire call stack to 0xaa for every function call.

1 files changed, 3 insertions(+), 3 deletions(-)

std/io/in_stream.zig+3-3
......@@ -32,10 +32,10 @@ pub fn InStream(comptime ReadError: type) type {
3232 /// End of stream is not an error condition.
3333 pub fn read(self: *Self, buffer: []u8) Error!usize {
3434 if (std.io.is_async) {
35 // Let's not be writing 0xaa in safe modes for upwards of 4 MiB for every stream read.
36 @setRuntimeSafety(false);
3537 var stack_frame: [stack_size]u8 align(stack_align) = undefined;
36 // TODO https://github.com/ziglang/zig/issues/3068
37 var result: Error!usize = undefined;
38 return await @asyncCall(&stack_frame, &result, self.readFn, self, buffer);
38 return await @asyncCall(&stack_frame, {}, self.readFn, self, buffer);
3939 } else {
4040 return self.readFn(self, buffer);
4141 }