blob: 92b4387faf45f9d597bd919b7962af4d83da81e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
const std = @import("std");
const value = @import("value.zig");
const Value = value.Value;
const Hval = value.Hval;
var _gpa: std.heap.GeneralPurposeAllocator(.{}) = .init;
const gpa = _gpa.allocator();
var cpool = std.heap.MemoryPool([2]Value).init(gpa);
pub fn cons(v1: Value, v2: Value) *[2]Value {
const mem = cpool.create() catch @panic("OOM");
mem[0] = v1;
mem[1] = v2;
return mem;
}
pub fn alloc(count: usize) []Hval {
return gpa.alloc(Hval, count) catch @panic("OOM");
}
|