| ... | @@ -215,13 +215,11 @@ fn free(context: *anyopaque, memory: []u8, alignment: mem.Alignment, ra: usize) | ... | @@ -215,13 +215,11 @@ fn free(context: *anyopaque, memory: []u8, alignment: mem.Alignment, ra: usize) |
| 215 | | 215 | |
| 216 | fn sizeClassIndex(len: usize, alignment: mem.Alignment) usize { | 216 | fn sizeClassIndex(len: usize, alignment: mem.Alignment) usize { |
| 217 | return @max( | 217 | return @max( |
| 218 | @bitSizeOf(usize) - @clz(len - 1), | 218 | @bitSizeOf(usize) - @clz(len + (@sizeOf(usize) - 1)), |
| 219 | @intFromEnum(alignment), | 219 | @intFromEnum(alignment) + 1, |
| 220 | min_class, | 220 | ) - min_class; |
| 221 | ); | | |
| 222 | } | 221 | } |
| 223 | | 222 | |
| 224 | fn slotSize(class: usize) usize { | 223 | fn slotSize(class: usize) usize { |
| 225 | const Log2USize = std.math.Log2Int(usize); | 224 | return @as(usize, 1) << @intCast(class + min_class); |
| 226 | return @as(usize, 1) << @as(Log2USize, @intCast(class)); | | |
| 227 | } | 225 | } |