tangled
alpha
login
or
join now
rockorager.dev
/
comlink
2
fork
atom
an experimental irc client
2
fork
atom
overview
issues
pulls
pipelines
main: use SmpAllocator in ReleaseFast
rockorager.dev
1 year ago
3b4e038c
51bc11c7
verified
This commit was signed with the committer's
known signature
.
rockorager.dev
SSH Key Fingerprint:
SHA256:qn/Fjy7CpbcogGEPB14Y53hLnQleZNFY9lkQnuudFLs=
+15
-14
1 changed file
expand all
collapse all
unified
split
src
main.zig
+15
-14
src/main.zig
···
31
31
std.process.exit(1);
32
32
}
33
33
34
34
+
var debug_allocator: std.heap.DebugAllocator(.{}) = .init;
35
35
+
34
36
pub fn main() !void {
35
35
-
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
36
36
-
defer {
37
37
-
if (builtin.mode == .Debug) {
38
38
-
const deinit_status = gpa.deinit();
39
39
-
if (deinit_status == .leak) {
40
40
-
std.log.err("memory leak", .{});
41
41
-
}
42
42
-
}
43
43
-
}
44
44
-
const alloc = gpa.allocator();
37
37
+
const gpa, const is_debug = gpa: {
38
38
+
break :gpa switch (builtin.mode) {
39
39
+
.Debug, .ReleaseSafe => .{ debug_allocator.allocator(), true },
40
40
+
.ReleaseFast, .ReleaseSmall => .{ std.heap.smp_allocator, false },
41
41
+
};
42
42
+
};
43
43
+
defer if (is_debug) {
44
44
+
_ = debug_allocator.deinit();
45
45
+
};
45
46
46
46
-
var args = try std.process.argsWithAllocator(alloc);
47
47
+
var args = try std.process.argsWithAllocator(gpa);
47
48
while (args.next()) |arg| {
48
49
if (argMatch("-v", "--version", arg)) {
49
50
const stdout = std.io.getStdOut();
···
69
70
},
70
71
}
71
72
72
72
-
comlink.Command.user_commands = std.StringHashMap(i32).init(alloc);
73
73
+
comlink.Command.user_commands = std.StringHashMap(i32).init(gpa);
73
74
defer comlink.Command.user_commands.deinit();
74
75
75
75
-
var app = try vaxis.vxfw.App.init(gpa.allocator());
76
76
+
var app = try vaxis.vxfw.App.init(gpa);
76
77
defer app.deinit();
77
78
78
79
var comlink_app: comlink.App = undefined;
79
79
-
try comlink_app.init(gpa.allocator(), &app.vx.unicode);
80
80
+
try comlink_app.init(gpa, &app.vx.unicode);
80
81
defer comlink_app.deinit();
81
82
82
83
try app.run(comlink_app.widget(), .{});