This commit is contained in:
2026-07-17 18:53:34 +02:00
parent 97f1c06057
commit 866e28adb8
13 changed files with 468 additions and 215 deletions
@@ -1,23 +1,23 @@
mem :: import "@std/mem"
hide probe_count func(context ?*mut anyopaque) void {
hide probe_count func(context ?@mut anyopaque) void {
if context |raw| {
counts *mut usize :: ptrcast!(usize, raw)
counts[0] += 1
count @mut usize :: ptrcast!(usize, raw)
count^ += 1
}
}
hide probe_alloc func(context ?*mut anyopaque, _ usize, _ usize) ?*mut u8 {
hide probe_alloc func(context ?@mut anyopaque, _ usize, _ usize) ?*mut u8 {
probe_count(context)
return none
}
hide probe_realloc func(context ?*mut anyopaque, _ ?*mut u8, _ usize, _ usize, _ usize) ?*mut u8 {
hide probe_realloc func(context ?@mut anyopaque, _ ?*mut u8, _ usize, _ usize, _ usize) ?*mut u8 {
probe_count(context)
return none
}
hide probe_free func(context ?*mut anyopaque, _ ?*mut u8, _ usize, _ usize) void {
hide probe_free func(context ?@mut anyopaque, _ ?*mut u8, _ usize, _ usize) void {
probe_count(context)
}
@@ -33,11 +33,11 @@ typed_allocator_test func() i32 {
first_calls [1]mut usize = [0]
second_calls [1]mut usize = [0]
first_allocator mem.Allocator :: mem.Allocator {
context = (&first_calls).ptr,
context = &first_calls,
vtable = &probe_vtable,
}
second_allocator mem.Allocator :: mem.Allocator {
context = (&second_calls).ptr,
context = &second_calls,
vtable = &probe_vtable,
}