| ... | @@ -34,20 +34,6 @@ fn alloc(_: *anyopaque, n: usize, log2_align: u8, ra: usize) ?[*]u8 { | ... | @@ -34,20 +34,6 @@ fn alloc(_: *anyopaque, n: usize, log2_align: u8, ra: usize) ?[*]u8 { |
| 34 | return @ptrCast(addr); | 34 | return @ptrCast(addr); |
| 35 | } | 35 | } |
| 36 | | 36 | |
| 37 | if (builtin.zig_backend == .stage2_riscv64) { | | |
| 38 | const aligned_len = mem.alignForward(usize, n, mem.page_size); | | |
| 39 | const slice = posix.mmap( | | |
| 40 | null, | | |
| 41 | aligned_len, | | |
| 42 | posix.PROT.READ | posix.PROT.WRITE, | | |
| 43 | .{ .TYPE = .PRIVATE, .ANONYMOUS = true }, | | |
| 44 | -1, | | |
| 45 | 0, | | |
| 46 | ) catch return null; | | |
| 47 | assert(mem.isAligned(@intFromPtr(slice.ptr), mem.page_size)); | | |
| 48 | return slice.ptr; | | |
| 49 | } | | |
| 50 | | | |
| 51 | const aligned_len = mem.alignForward(usize, n, mem.page_size); | 37 | const aligned_len = mem.alignForward(usize, n, mem.page_size); |
| 52 | const hint = @atomicLoad(@TypeOf(std.heap.next_mmap_addr_hint), &std.heap.next_mmap_addr_hint, .unordered); | 38 | const hint = @atomicLoad(@TypeOf(std.heap.next_mmap_addr_hint), &std.heap.next_mmap_addr_hint, .unordered); |
| 53 | const slice = posix.mmap( | 39 | const slice = posix.mmap( |