summaryrefslogtreecommitdiff
path: root/src/libzisp/gc.zig
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2025-02-18 22:48:57 +0100
committerTaylan Kammer <taylan.kammer@gmail.com>2025-02-18 22:48:57 +0100
commit4d0db1a1065f18d879b3ff90da6ecb14e9e1ae31 (patch)
tree7c5c275e7f3dae7bf96377560269b5a1bfa1fb99 /src/libzisp/gc.zig
parent2384a31c42f480c961785bcf0520bb0688b8e028 (diff)
update
Diffstat (limited to 'src/libzisp/gc.zig')
-rw-r--r--src/libzisp/gc.zig15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libzisp/gc.zig b/src/libzisp/gc.zig
new file mode 100644
index 0000000..819fa0b
--- /dev/null
+++ b/src/libzisp/gc.zig
@@ -0,0 +1,15 @@
+const std = @import("std");
+
+const Value = @import("value.zig").Value;
+
+var _gpa: std.heap.GeneralPurposeAllocator(.{}) = .init;
+const gpa = _gpa.allocator();
+
+pub const Bucket = packed union {
+ bits: u64,
+ value: Value,
+};
+
+pub fn alloc(count: usize) []Bucket {
+ return gpa.alloc(Bucket, count) catch @panic("OOM");
+}