lib/choir/src/backends/wasm/emission/module/section/memory.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const wasm = @import("../../../root.zig");
2 const emission = @import("../../root.zig");
3 const common = @import("../root.zig").common;
4
5 pub fn write(out: anytype, plan: *const emission.Plan) emission.Error!void {
6 try common.writeSectionHeader(out, .memory, plan.sections.memory);
7 try writeBody(out);
8 }
9
10 pub fn countBody() emission.Error!usize {
11 var count = wasm.binary.Count{};
12 try writeBody(&count);
13 return count.len;
14 }
15
16 fn writeBody(out: anytype) emission.Error!void {
17 try wasm.binary.writeUleb(out, @as(u32, 1));
18 try out.writeByte(0x00);
19 try wasm.binary.writeUleb(out, @as(u32, 1));
20 }