mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 15:13:28 +00:00
Merge pull request #426 from karlseguin/c_allocator
In release mode, switch from page_allocator to c_allocator
This commit is contained in:
24
src/main.zig
24
src/main.zig
@@ -202,23 +202,13 @@ pub fn main() !void {
|
|||||||
|
|
||||||
// allocator
|
// allocator
|
||||||
// - in Debug mode we use the General Purpose Allocator to detect memory leaks
|
// - in Debug mode we use the General Purpose Allocator to detect memory leaks
|
||||||
// - in Release mode we use the page allocator
|
// - in Release mode we use the c allocator
|
||||||
var alloc: std.mem.Allocator = undefined;
|
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||||
var _gpa: ?std.heap.GeneralPurposeAllocator(.{}) = null;
|
const alloc = if (builtin.mode == .Debug) gpa.allocator() else std.heap.c_allocator;
|
||||||
if (builtin.mode == .Debug) {
|
|
||||||
_gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
defer if (builtin.mode == .Debug) {
|
||||||
alloc = _gpa.?.allocator();
|
_ = gpa.detectLeaks();
|
||||||
} else {
|
};
|
||||||
alloc = std.heap.page_allocator;
|
|
||||||
}
|
|
||||||
defer {
|
|
||||||
if (_gpa) |*gpa| {
|
|
||||||
switch (gpa.deinit()) {
|
|
||||||
.ok => std.debug.print("No memory leaks\n", .{}),
|
|
||||||
.leak => @panic("Memory leak"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// args
|
// args
|
||||||
var args: std.process.ArgIterator = undefined;
|
var args: std.process.ArgIterator = undefined;
|
||||||
|
|||||||
Reference in New Issue
Block a user