Commit f98cffc615

Andrew Kelley <andrew@ziglang.org>
2020-08-09 00:59:03
std: general purpose allocator: use AutoHashMap
As pointed out by Sahnvour, AutoHashMap is both more convenient and will have better performance in this case.
1 parent 5b57e35
Changed files (1)
lib/std/heap/general_purpose_allocator.zig
@@ -189,7 +189,7 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
                 std.debug.dumpStackTrace(stack_trace);
             }
         };
-        const LargeAllocTable = std.HashMapUnmanaged(usize, LargeAlloc, hash_addr, eql_addr, false);
+        const LargeAllocTable = std.AutoHashMapUnmanaged(usize, LargeAlloc);
 
         // Bucket: In memory, in order:
         // * BucketHeader
@@ -609,17 +609,6 @@ const TraceKind = enum {
     free,
 };
 
-fn hash_addr(addr: usize) u32 {
-    if (@sizeOf(usize) == @sizeOf(u32))
-        return addr;
-    comptime assert(@sizeOf(usize) == 8);
-    return @intCast(u32, addr >> 32) ^ @truncate(u32, addr);
-}
-
-fn eql_addr(a: usize, b: usize) bool {
-    return a == b;
-}
-
 const test_config = Config{};
 
 test "small allocations - free in same order" {