summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2025-02-23 23:33:30 +0100
committerTaylan Kammer <taylan.kammer@gmail.com>2025-02-23 23:33:30 +0100
commitf8dd153f11111abefa1b91de9d8fdfdbc122ffe8 (patch)
tree764160f3fb2455fab519aecf458bb563e90516f2
parent74b8daba8750c9d87caf38780f04cbbf569fbd7f (diff)
struct bug?
-rw-r--r--src/libzisp/io/parser.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libzisp/io/parser.zig b/src/libzisp/io/parser.zig
index 3692a17..1359dcc 100644
--- a/src/libzisp/io/parser.zig
+++ b/src/libzisp/io/parser.zig
@@ -217,7 +217,7 @@ const Value = value.Value;
pub const Mode = enum { code, data };
const TopState = struct {
- alloc: std.mem.Allocator,
+ alloc: std.heap.MemoryPool(State),
input: []const u8,
pos: usize = 0,
mode: Mode = undefined,
@@ -367,9 +367,9 @@ pub fn parse(input: []const u8, mode: Mode) Value {
var gpa: std.heap.GeneralPurposeAllocator(.{}) = .init;
defer if (gpa.deinit() == .leak) @panic("leak");
const alloc = gpa.allocator();
- // var pool: std.heap.MemoryPool(State) = .init(alloc);
- // defer pool.deinit();
- var top = TopState{ .alloc = alloc, .input = input, .mode = mode };
+ var pool: std.heap.MemoryPool(State) = .init(alloc);
+ defer pool.deinit();
+ var top = TopState{ .alloc = pool, .input = input, .mode = mode };
var s0 = State{ .top = &top };
var s = &s0;
while (true) s = switch (s.next) {