| ... | @@ -412,12 +412,11 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { | ... | @@ -412,12 +412,11 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { |
| 412 | const size_class = @as(usize, 1) << @as(Log2USize, @intCast(size_class_index)); | 412 | const size_class = @as(usize, 1) << @as(Log2USize, @intCast(size_class_index)); |
| 413 | const slot_count = slot_counts[size_class_index]; | 413 | const slot_count = slot_counts[size_class_index]; |
| 414 | var leaks = false; | 414 | var leaks = false; |
| 415 | var used_bits_byte: usize = 0; | 415 | for (0..used_bits_count) |used_bits_byte| { |
| 416 | while (used_bits_byte < used_bits_count) : (used_bits_byte += 1) { | | |
| 417 | const used_byte = bucket.usedBits(used_bits_byte).*; | 416 | const used_byte = bucket.usedBits(used_bits_byte).*; |
| 418 | if (used_byte != 0) { | 417 | if (used_byte != 0) { |
| 419 | var bit_index: u3 = 0; | 418 | for (0..8) |bit_index_usize| { |
| 420 | while (true) : (bit_index += 1) { | 419 | const bit_index: u3 = @intCast(bit_index_usize); |
| 421 | const is_used = @as(u1, @truncate(used_byte >> bit_index)) != 0; | 420 | const is_used = @as(u1, @truncate(used_byte >> bit_index)) != 0; |
| 422 | if (is_used) { | 421 | if (is_used) { |
| 423 | const slot_index: SlotIndex = @intCast(used_bits_byte * 8 + bit_index); | 422 | const slot_index: SlotIndex = @intCast(used_bits_byte * 8 + bit_index); |
| ... | @@ -427,8 +426,6 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { | ... | @@ -427,8 +426,6 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { |
| 427 | log.err("memory address 0x{x} leaked: {}", .{ addr, stack_trace }); | 426 | log.err("memory address 0x{x} leaked: {}", .{ addr, stack_trace }); |
| 428 | leaks = true; | 427 | leaks = true; |
| 429 | } | 428 | } |
| 430 | if (bit_index == math.maxInt(u3)) | | |
| 431 | break; | | |
| 432 | } | 429 | } |
| 433 | } | 430 | } |
| 434 | } | 431 | } |