authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-08 13:04:30-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-08 13:04:30-07:00
loga2f8c23a96d6124f1f263aa68087f18321e298c7
tree0e8eacd47132abd35dda2b1ba295671b999e0206
parentcb9405cdbdd7c9dc30c84ea9a8a17ced2cae66af

std.heap.page_allocator: Windows support for growing without remapping


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

lib/std/heap.zig+3-3
......@@ -225,7 +225,7 @@ const PageAllocator = struct {
225225 w.VirtualFree(buf_unaligned.ptr, 0, w.MEM_RELEASE);
226226 return 0;
227227 }
228 if (new_size < buf_unaligned.len) {
228 if (new_size <= buf_unaligned.len) {
229229 const base_addr = @ptrToInt(buf_unaligned.ptr);
230230 const old_addr_end = base_addr + buf_unaligned.len;
231231 const new_addr_end = mem.alignForward(base_addr + new_size, mem.page_size);
......@@ -240,10 +240,10 @@ const PageAllocator = struct {
240240 }
241241 return alignPageAllocLen(new_size_aligned, new_size, len_align);
242242 }
243 if (new_size == buf_unaligned.len) {
243 const old_size_aligned = mem.alignForward(buf_unaligned.len, mem.page_size);
244 if (new_size_aligned <= old_size_aligned) {
244245 return alignPageAllocLen(new_size_aligned, new_size, len_align);
245246 }
246 // new_size > buf_unaligned.len not implemented
247247 return error.OutOfMemory;
248248 }
249249