| ... | @@ -122,7 +122,7 @@ pub const Graph = struct { | ... | @@ -122,7 +122,7 @@ pub const Graph = struct { |
| 122 | host: ResolvedTarget, | 122 | host: ResolvedTarget, |
| 123 | incremental: ?bool = null, | 123 | incremental: ?bool = null, |
| 124 | random_seed: u32 = 0, | 124 | random_seed: u32 = 0, |
| 125 | dependency_cache: InitializedDepMap, | 125 | dependency_cache: InitializedDepMap = .empty, |
| 126 | }; | 126 | }; |
| 127 | | 127 | |
| 128 | const AvailableDeps = []const struct { []const u8, []const u8 }; | 128 | const AvailableDeps = []const struct { []const u8, []const u8 }; |
| ... | @@ -142,7 +142,7 @@ const SystemLibraryMode = enum { | ... | @@ -142,7 +142,7 @@ const SystemLibraryMode = enum { |
| 142 | declared_enabled, | 142 | declared_enabled, |
| 143 | }; | 143 | }; |
| 144 | | 144 | |
| 145 | pub const InitializedDepMap = std.HashMap(InitializedDepKey, *Dependency, InitializedDepContext, std.hash_map.default_max_load_percentage); | 145 | const InitializedDepMap = std.HashMapUnmanaged(InitializedDepKey, *Dependency, InitializedDepContext, std.hash_map.default_max_load_percentage); |
| 146 | const InitializedDepKey = struct { | 146 | const InitializedDepKey = struct { |
| 147 | build_root_string: []const u8, | 147 | build_root_string: []const u8, |
| 148 | user_input_options: UserInputOptionsMap, | 148 | user_input_options: UserInputOptionsMap, |
| ... | @@ -2121,10 +2121,10 @@ fn dependencyInner( | ... | @@ -2121,10 +2121,10 @@ fn dependencyInner( |
| 2121 | args: anytype, | 2121 | args: anytype, |
| 2122 | ) *Dependency { | 2122 | ) *Dependency { |
| 2123 | const user_input_options = userInputOptionsFromArgs(b.allocator, args); | 2123 | const user_input_options = userInputOptionsFromArgs(b.allocator, args); |
| 2124 | if (b.graph.dependency_cache.get(.{ | 2124 | if (b.graph.dependency_cache.getContext(.{ |
| 2125 | .build_root_string = build_root_string, | 2125 | .build_root_string = build_root_string, |
| 2126 | .user_input_options = user_input_options, | 2126 | .user_input_options = user_input_options, |
| 2127 | })) |dep| | 2127 | }, .{ .allocator = b.graph.arena })) |dep| |
| 2128 | return dep; | 2128 | return dep; |
| 2129 | | 2129 | |
| 2130 | const build_root: std.Build.Cache.Directory = .{ | 2130 | const build_root: std.Build.Cache.Directory = .{ |
| ... | @@ -2149,10 +2149,10 @@ fn dependencyInner( | ... | @@ -2149,10 +2149,10 @@ fn dependencyInner( |
| 2149 | const dep = b.allocator.create(Dependency) catch @panic("OOM"); | 2149 | const dep = b.allocator.create(Dependency) catch @panic("OOM"); |
| 2150 | dep.* = .{ .builder = sub_builder }; | 2150 | dep.* = .{ .builder = sub_builder }; |
| 2151 | | 2151 | |
| 2152 | b.graph.dependency_cache.put(.{ | 2152 | b.graph.dependency_cache.putContext(b.graph.arena, .{ |
| 2153 | .build_root_string = build_root_string, | 2153 | .build_root_string = build_root_string, |
| 2154 | .user_input_options = user_input_options, | 2154 | .user_input_options = user_input_options, |
| 2155 | }, dep) catch @panic("OOM"); | 2155 | }, dep, .{ .allocator = b.graph.arena }) catch @panic("OOM"); |
| 2156 | return dep; | 2156 | return dep; |
| 2157 | } | 2157 | } |
| 2158 | | 2158 | |