| ... | @@ -139,26 +139,26 @@ global_error_set: GlobalErrorSet = .{}, | ... | @@ -139,26 +139,26 @@ global_error_set: GlobalErrorSet = .{}, |
| 139 | /// Maximum amount of distinct error values, set by --error-limit | 139 | /// Maximum amount of distinct error values, set by --error-limit |
| 140 | error_limit: ErrorInt, | 140 | error_limit: ErrorInt, |
| 141 | | 141 | |
| 142 | /// Value is the number of PO or outdated Decls which this Depender depends on. | 142 | /// Value is the number of PO or outdated Decls which this AnalSubject depends on. |
| 143 | potentially_outdated: std.AutoArrayHashMapUnmanaged(InternPool.Depender, u32) = .{}, | 143 | potentially_outdated: std.AutoArrayHashMapUnmanaged(InternPool.AnalSubject, u32) = .{}, |
| 144 | /// Value is the number of PO or outdated Decls which this Depender depends on. | 144 | /// Value is the number of PO or outdated Decls which this AnalSubject depends on. |
| 145 | /// Once this value drops to 0, the Depender is a candidate for re-analysis. | 145 | /// Once this value drops to 0, the AnalSubject is a candidate for re-analysis. |
| 146 | outdated: std.AutoArrayHashMapUnmanaged(InternPool.Depender, u32) = .{}, | 146 | outdated: std.AutoArrayHashMapUnmanaged(InternPool.AnalSubject, u32) = .{}, |
| 147 | /// This contains all `Depender`s in `outdated` whose PO dependency count is 0. | 147 | /// This contains all `AnalSubject`s in `outdated` whose PO dependency count is 0. |
| 148 | /// Such `Depender`s are ready for immediate re-analysis. | 148 | /// Such `AnalSubject`s are ready for immediate re-analysis. |
| 149 | /// See `findOutdatedToAnalyze` for details. | 149 | /// See `findOutdatedToAnalyze` for details. |
| 150 | outdated_ready: std.AutoArrayHashMapUnmanaged(InternPool.Depender, void) = .{}, | 150 | outdated_ready: std.AutoArrayHashMapUnmanaged(InternPool.AnalSubject, void) = .{}, |
| 151 | /// This contains a set of Decls which may not be in `outdated`, but are the | 151 | /// This contains a set of Decls which may not be in `outdated`, but are the |
| 152 | /// root Decls of files which have updated source and thus must be re-analyzed. | 152 | /// root Decls of files which have updated source and thus must be re-analyzed. |
| 153 | /// If such a Decl is only in this set, the struct type index may be preserved | 153 | /// If such a Decl is only in this set, the struct type index may be preserved |
| 154 | /// (only the namespace might change). If such a Decl is also `outdated`, the | 154 | /// (only the namespace might change). If such a Decl is also `outdated`, the |
| 155 | /// struct type index must be recreated. | 155 | /// struct type index must be recreated. |
| 156 | outdated_file_root: std.AutoArrayHashMapUnmanaged(Decl.Index, void) = .{}, | 156 | outdated_file_root: std.AutoArrayHashMapUnmanaged(Decl.Index, void) = .{}, |
| 157 | /// This contains a list of Dependers whose analysis or codegen failed, but the | 157 | /// This contains a list of AnalSubject whose analysis or codegen failed, but the |
| 158 | /// failure was something like running out of disk space, and trying again may | 158 | /// failure was something like running out of disk space, and trying again may |
| 159 | /// succeed. On the next update, we will flush this list, marking all members of | 159 | /// succeed. On the next update, we will flush this list, marking all members of |
| 160 | /// it as outdated. | 160 | /// it as outdated. |
| 161 | retryable_failures: std.ArrayListUnmanaged(InternPool.Depender) = .{}, | 161 | retryable_failures: std.ArrayListUnmanaged(InternPool.AnalSubject) = .{}, |
| 162 | | 162 | |
| 163 | stage1_flags: packed struct { | 163 | stage1_flags: packed struct { |
| 164 | have_winmain: bool = false, | 164 | have_winmain: bool = false, |
| ... | @@ -3137,9 +3137,9 @@ fn markPoDependeeUpToDate(zcu: *Zcu, dependee: InternPool.Dependee) !void { | ... | @@ -3137,9 +3137,9 @@ fn markPoDependeeUpToDate(zcu: *Zcu, dependee: InternPool.Dependee) !void { |
| 3137 | } | 3137 | } |
| 3138 | } | 3138 | } |
| 3139 | | 3139 | |
| 3140 | /// Given a Depender which is newly outdated or PO, mark all Dependers which may | 3140 | /// Given a AnalSubject which is newly outdated or PO, mark all AnalSubjects which may |
| 3141 | /// in turn be PO, due to a dependency on the original Depender's tyval or IES. | 3141 | /// in turn be PO, due to a dependency on the original AnalSubject's tyval or IES. |
| 3142 | fn markTransitiveDependersPotentiallyOutdated(zcu: *Zcu, maybe_outdated: InternPool.Depender) !void { | 3142 | fn markTransitiveDependersPotentiallyOutdated(zcu: *Zcu, maybe_outdated: InternPool.AnalSubject) !void { |
| 3143 | var it = zcu.intern_pool.dependencyIterator(switch (maybe_outdated.unwrap()) { | 3143 | var it = zcu.intern_pool.dependencyIterator(switch (maybe_outdated.unwrap()) { |
| 3144 | .decl => |decl_index| .{ .decl_val = decl_index }, // TODO: also `decl_ref` deps when introduced | 3144 | .decl => |decl_index| .{ .decl_val = decl_index }, // TODO: also `decl_ref` deps when introduced |
| 3145 | .func => |func_index| .{ .func_ies = func_index }, | 3145 | .func => |func_index| .{ .func_ies = func_index }, |
| ... | @@ -3161,12 +3161,12 @@ fn markTransitiveDependersPotentiallyOutdated(zcu: *Zcu, maybe_outdated: InternP | ... | @@ -3161,12 +3161,12 @@ fn markTransitiveDependersPotentiallyOutdated(zcu: *Zcu, maybe_outdated: InternP |
| 3161 | continue; | 3161 | continue; |
| 3162 | } | 3162 | } |
| 3163 | try zcu.potentially_outdated.putNoClobber(zcu.gpa, po, 1); | 3163 | try zcu.potentially_outdated.putNoClobber(zcu.gpa, po, 1); |
| 3164 | // This Depender was not already PO, so we must recursively mark its dependers as also PO. | 3164 | // This AnalSubject was not already PO, so we must recursively mark its dependers as also PO. |
| 3165 | try zcu.markTransitiveDependersPotentiallyOutdated(po); | 3165 | try zcu.markTransitiveDependersPotentiallyOutdated(po); |
| 3166 | } | 3166 | } |
| 3167 | } | 3167 | } |
| 3168 | | 3168 | |
| 3169 | pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | 3169 | pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.AnalSubject { |
| 3170 | if (!zcu.comp.debug_incremental) return null; | 3170 | if (!zcu.comp.debug_incremental) return null; |
| 3171 | | 3171 | |
| 3172 | if (zcu.outdated.count() == 0 and zcu.potentially_outdated.count() == 0) { | 3172 | if (zcu.outdated.count() == 0 and zcu.potentially_outdated.count() == 0) { |
| ... | @@ -3174,8 +3174,8 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | ... | @@ -3174,8 +3174,8 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { |
| 3174 | return null; | 3174 | return null; |
| 3175 | } | 3175 | } |
| 3176 | | 3176 | |
| 3177 | // Our goal is to find an outdated Depender which itself has no outdated or | 3177 | // Our goal is to find an outdated AnalSubject which itself has no outdated or |
| 3178 | // PO dependencies. Most of the time, such a Depender will exist - we track | 3178 | // PO dependencies. Most of the time, such an AnalSubject will exist - we track |
| 3179 | // them in the `outdated_ready` set for efficiency. However, this is not | 3179 | // them in the `outdated_ready` set for efficiency. However, this is not |
| 3180 | // necessarily the case, since the Decl dependency graph may contain loops | 3180 | // necessarily the case, since the Decl dependency graph may contain loops |
| 3181 | // via mutually recursive definitions: | 3181 | // via mutually recursive definitions: |
| ... | @@ -3197,7 +3197,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | ... | @@ -3197,7 +3197,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { |
| 3197 | // `outdated`. This set will be small (number of files changed in this | 3197 | // `outdated`. This set will be small (number of files changed in this |
| 3198 | // update), so it's alright for us to just iterate here. | 3198 | // update), so it's alright for us to just iterate here. |
| 3199 | for (zcu.outdated_file_root.keys()) |file_decl| { | 3199 | for (zcu.outdated_file_root.keys()) |file_decl| { |
| 3200 | const decl_depender = InternPool.Depender.wrap(.{ .decl = file_decl }); | 3200 | const decl_depender = InternPool.AnalSubject.wrap(.{ .decl = file_decl }); |
| 3201 | if (zcu.outdated.contains(decl_depender)) { | 3201 | if (zcu.outdated.contains(decl_depender)) { |
| 3202 | // Since we didn't hit this in the first loop, this Decl must have | 3202 | // Since we didn't hit this in the first loop, this Decl must have |
| 3203 | // pending dependencies, so is ineligible. | 3203 | // pending dependencies, so is ineligible. |
| ... | @@ -3213,7 +3213,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | ... | @@ -3213,7 +3213,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { |
| 3213 | return decl_depender; | 3213 | return decl_depender; |
| 3214 | } | 3214 | } |
| 3215 | | 3215 | |
| 3216 | // There is no single Depender which is ready for re-analysis. Instead, we | 3216 | // There is no single AnalSubject which is ready for re-analysis. Instead, we |
| 3217 | // must assume that some Decl with PO dependencies is outdated - e.g. in the | 3217 | // must assume that some Decl with PO dependencies is outdated - e.g. in the |
| 3218 | // above example we arbitrarily pick one of A or B. We should select a Decl, | 3218 | // above example we arbitrarily pick one of A or B. We should select a Decl, |
| 3219 | // since a Decl is definitely responsible for the loop in the dependency | 3219 | // since a Decl is definitely responsible for the loop in the dependency |
| ... | @@ -3221,7 +3221,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | ... | @@ -3221,7 +3221,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { |
| 3221 | | 3221 | |
| 3222 | // The choice of this Decl could have a big impact on how much total | 3222 | // The choice of this Decl could have a big impact on how much total |
| 3223 | // analysis we perform, since if analysis concludes its tyval is unchanged, | 3223 | // analysis we perform, since if analysis concludes its tyval is unchanged, |
| 3224 | // then other PO Dependers may be resolved as up-to-date. To hopefully avoid | 3224 | // then other PO AnalSubject may be resolved as up-to-date. To hopefully avoid |
| 3225 | // doing too much work, let's find a Decl which the most things depend on - | 3225 | // doing too much work, let's find a Decl which the most things depend on - |
| 3226 | // the idea is that this will resolve a lot of loops (but this is only a | 3226 | // the idea is that this will resolve a lot of loops (but this is only a |
| 3227 | // heuristic). | 3227 | // heuristic). |
| ... | @@ -3271,7 +3271,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { | ... | @@ -3271,7 +3271,7 @@ pub fn findOutdatedToAnalyze(zcu: *Zcu) Allocator.Error!?InternPool.Depender { |
| 3271 | chosen_decl_dependers, | 3271 | chosen_decl_dependers, |
| 3272 | }); | 3272 | }); |
| 3273 | | 3273 | |
| 3274 | return InternPool.Depender.wrap(.{ .decl = chosen_decl_idx.? }); | 3274 | return InternPool.AnalSubject.wrap(.{ .decl = chosen_decl_idx.? }); |
| 3275 | } | 3275 | } |
| 3276 | | 3276 | |
| 3277 | /// During an incremental update, before semantic analysis, call this to flush all values from | 3277 | /// During an incremental update, before semantic analysis, call this to flush all values from |
| ... | @@ -3281,12 +3281,12 @@ pub fn flushRetryableFailures(zcu: *Zcu) !void { | ... | @@ -3281,12 +3281,12 @@ pub fn flushRetryableFailures(zcu: *Zcu) !void { |
| 3281 | for (zcu.retryable_failures.items) |depender| { | 3281 | for (zcu.retryable_failures.items) |depender| { |
| 3282 | if (zcu.outdated.contains(depender)) continue; | 3282 | if (zcu.outdated.contains(depender)) continue; |
| 3283 | if (zcu.potentially_outdated.fetchSwapRemove(depender)) |kv| { | 3283 | if (zcu.potentially_outdated.fetchSwapRemove(depender)) |kv| { |
| 3284 | // This Depender was already PO, but we now consider it outdated. | 3284 | // This AnalSubject was already PO, but we now consider it outdated. |
| 3285 | // Any transitive dependencies are already marked PO. | 3285 | // Any transitive dependencies are already marked PO. |
| 3286 | try zcu.outdated.put(gpa, depender, kv.value); | 3286 | try zcu.outdated.put(gpa, depender, kv.value); |
| 3287 | continue; | 3287 | continue; |
| 3288 | } | 3288 | } |
| 3289 | // This Depender was not marked PO, but is now outdated. Mark it as | 3289 | // This AnalSubject was not marked PO, but is now outdated. Mark it as |
| 3290 | // such, then recursively mark transitive dependencies as PO. | 3290 | // such, then recursively mark transitive dependencies as PO. |
| 3291 | try zcu.outdated.put(gpa, depender, 0); | 3291 | try zcu.outdated.put(gpa, depender, 0); |
| 3292 | try zcu.markTransitiveDependersPotentiallyOutdated(depender); | 3292 | try zcu.markTransitiveDependersPotentiallyOutdated(depender); |
| ... | @@ -3456,7 +3456,7 @@ pub fn ensureDeclAnalyzed(mod: *Module, decl_index: Decl.Index) SemaError!void { | ... | @@ -3456,7 +3456,7 @@ pub fn ensureDeclAnalyzed(mod: *Module, decl_index: Decl.Index) SemaError!void { |
| 3456 | // which tries to limit re-analysis to Decls whose previously listed | 3456 | // which tries to limit re-analysis to Decls whose previously listed |
| 3457 | // dependencies are all up-to-date. | 3457 | // dependencies are all up-to-date. |
| 3458 | | 3458 | |
| 3459 | const decl_as_depender = InternPool.Depender.wrap(.{ .decl = decl_index }); | 3459 | const decl_as_depender = InternPool.AnalSubject.wrap(.{ .decl = decl_index }); |
| 3460 | const decl_was_outdated = mod.outdated.swapRemove(decl_as_depender) or | 3460 | const decl_was_outdated = mod.outdated.swapRemove(decl_as_depender) or |
| 3461 | mod.potentially_outdated.swapRemove(decl_as_depender); | 3461 | mod.potentially_outdated.swapRemove(decl_as_depender); |
| 3462 | | 3462 | |
| ... | @@ -3522,7 +3522,7 @@ pub fn ensureDeclAnalyzed(mod: *Module, decl_index: Decl.Index) SemaError!void { | ... | @@ -3522,7 +3522,7 @@ pub fn ensureDeclAnalyzed(mod: *Module, decl_index: Decl.Index) SemaError!void { |
| 3522 | else => |e| { | 3522 | else => |e| { |
| 3523 | decl.analysis = .sema_failure; | 3523 | decl.analysis = .sema_failure; |
| 3524 | try mod.failed_decls.ensureUnusedCapacity(mod.gpa, 1); | 3524 | try mod.failed_decls.ensureUnusedCapacity(mod.gpa, 1); |
| 3525 | try mod.retryable_failures.append(mod.gpa, InternPool.Depender.wrap(.{ .decl = decl_index })); | 3525 | try mod.retryable_failures.append(mod.gpa, InternPool.AnalSubject.wrap(.{ .decl = decl_index })); |
| 3526 | mod.failed_decls.putAssumeCapacityNoClobber(decl_index, try ErrorMsg.create( | 3526 | mod.failed_decls.putAssumeCapacityNoClobber(decl_index, try ErrorMsg.create( |
| 3527 | mod.gpa, | 3527 | mod.gpa, |
| 3528 | decl.navSrcLoc(mod).upgrade(mod), | 3528 | decl.navSrcLoc(mod).upgrade(mod), |
| ... | @@ -3581,7 +3581,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In | ... | @@ -3581,7 +3581,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In |
| 3581 | // that's the case, we should remove this function from the binary. | 3581 | // that's the case, we should remove this function from the binary. |
| 3582 | if (decl.val.ip_index != func_index) { | 3582 | if (decl.val.ip_index != func_index) { |
| 3583 | try zcu.markDependeeOutdated(.{ .func_ies = func_index }); | 3583 | try zcu.markDependeeOutdated(.{ .func_ies = func_index }); |
| 3584 | ip.removeDependenciesForDepender(gpa, InternPool.Depender.wrap(.{ .func = func_index })); | 3584 | ip.removeDependenciesForDepender(gpa, InternPool.AnalSubject.wrap(.{ .func = func_index })); |
| 3585 | ip.remove(func_index); | 3585 | ip.remove(func_index); |
| 3586 | @panic("TODO: remove orphaned function from binary"); | 3586 | @panic("TODO: remove orphaned function from binary"); |
| 3587 | } | 3587 | } |
| ... | @@ -3607,7 +3607,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In | ... | @@ -3607,7 +3607,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In |
| 3607 | .complete => {}, | 3607 | .complete => {}, |
| 3608 | } | 3608 | } |
| 3609 | | 3609 | |
| 3610 | const func_as_depender = InternPool.Depender.wrap(.{ .func = func_index }); | 3610 | const func_as_depender = InternPool.AnalSubject.wrap(.{ .func = func_index }); |
| 3611 | const was_outdated = zcu.outdated.swapRemove(func_as_depender) or | 3611 | const was_outdated = zcu.outdated.swapRemove(func_as_depender) or |
| 3612 | zcu.potentially_outdated.swapRemove(func_as_depender); | 3612 | zcu.potentially_outdated.swapRemove(func_as_depender); |
| 3613 | | 3613 | |
| ... | @@ -3728,7 +3728,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In | ... | @@ -3728,7 +3728,7 @@ pub fn ensureFuncBodyAnalyzed(zcu: *Zcu, maybe_coerced_func_index: InternPool.In |
| 3728 | .{@errorName(err)}, | 3728 | .{@errorName(err)}, |
| 3729 | )); | 3729 | )); |
| 3730 | func.analysis(ip).state = .codegen_failure; | 3730 | func.analysis(ip).state = .codegen_failure; |
| 3731 | try zcu.retryable_failures.append(zcu.gpa, InternPool.Depender.wrap(.{ .func = func_index })); | 3731 | try zcu.retryable_failures.append(zcu.gpa, InternPool.AnalSubject.wrap(.{ .func = func_index })); |
| 3732 | }, | 3732 | }, |
| 3733 | }; | 3733 | }; |
| 3734 | } else if (zcu.llvm_object) |llvm_object| { | 3734 | } else if (zcu.llvm_object) |llvm_object| { |
| ... | @@ -3773,7 +3773,7 @@ pub fn ensureFuncBodyAnalysisQueued(mod: *Module, func_index: InternPool.Index) | ... | @@ -3773,7 +3773,7 @@ pub fn ensureFuncBodyAnalysisQueued(mod: *Module, func_index: InternPool.Index) |
| 3773 | | 3773 | |
| 3774 | assert(decl.has_tv); | 3774 | assert(decl.has_tv); |
| 3775 | | 3775 | |
| 3776 | const func_as_depender = InternPool.Depender.wrap(.{ .func = func_index }); | 3776 | const func_as_depender = InternPool.AnalSubject.wrap(.{ .func = func_index }); |
| 3777 | const is_outdated = mod.outdated.contains(func_as_depender) or | 3777 | const is_outdated = mod.outdated.contains(func_as_depender) or |
| 3778 | mod.potentially_outdated.contains(func_as_depender); | 3778 | mod.potentially_outdated.contains(func_as_depender); |
| 3779 | | 3779 | |
| ... | @@ -3857,7 +3857,7 @@ fn getFileRootStruct(zcu: *Zcu, decl_index: Decl.Index, namespace_index: Namespa | ... | @@ -3857,7 +3857,7 @@ fn getFileRootStruct(zcu: *Zcu, decl_index: Decl.Index, namespace_index: Namespa |
| 3857 | if (zcu.comp.debug_incremental) { | 3857 | if (zcu.comp.debug_incremental) { |
| 3858 | try ip.addDependency( | 3858 | try ip.addDependency( |
| 3859 | gpa, | 3859 | gpa, |
| 3860 | InternPool.Depender.wrap(.{ .decl = decl_index }), | 3860 | InternPool.AnalSubject.wrap(.{ .decl = decl_index }), |
| 3861 | .{ .src_hash = tracked_inst }, | 3861 | .{ .src_hash = tracked_inst }, |
| 3862 | ); | 3862 | ); |
| 3863 | } | 3863 | } |
| ... | @@ -3906,7 +3906,7 @@ fn semaFileUpdate(zcu: *Zcu, file: *File, type_outdated: bool) SemaError!bool { | ... | @@ -3906,7 +3906,7 @@ fn semaFileUpdate(zcu: *Zcu, file: *File, type_outdated: bool) SemaError!bool { |
| 3906 | | 3906 | |
| 3907 | if (type_outdated) { | 3907 | if (type_outdated) { |
| 3908 | // Invalidate the existing type, reusing the decl and namespace. | 3908 | // Invalidate the existing type, reusing the decl and namespace. |
| 3909 | zcu.intern_pool.removeDependenciesForDepender(zcu.gpa, InternPool.Depender.wrap(.{ .decl = file.root_decl.unwrap().? })); | 3909 | zcu.intern_pool.removeDependenciesForDepender(zcu.gpa, InternPool.AnalSubject.wrap(.{ .decl = file.root_decl.unwrap().? })); |
| 3910 | zcu.intern_pool.remove(decl.val.toIntern()); | 3910 | zcu.intern_pool.remove(decl.val.toIntern()); |
| 3911 | decl.val = undefined; | 3911 | decl.val = undefined; |
| 3912 | _ = try zcu.getFileRootStruct(file.root_decl.unwrap().?, decl.src_namespace, file); | 3912 | _ = try zcu.getFileRootStruct(file.root_decl.unwrap().?, decl.src_namespace, file); |
| ... | @@ -4097,7 +4097,7 @@ fn semaDecl(mod: *Module, decl_index: Decl.Index) !SemaDeclResult { | ... | @@ -4097,7 +4097,7 @@ fn semaDecl(mod: *Module, decl_index: Decl.Index) !SemaDeclResult { |
| 4097 | break :ip_index .none; | 4097 | break :ip_index .none; |
| 4098 | }; | 4098 | }; |
| 4099 | | 4099 | |
| 4100 | mod.intern_pool.removeDependenciesForDepender(gpa, InternPool.Depender.wrap(.{ .decl = decl_index })); | 4100 | mod.intern_pool.removeDependenciesForDepender(gpa, InternPool.AnalSubject.wrap(.{ .decl = decl_index })); |
| 4101 | | 4101 | |
| 4102 | decl.analysis = .in_progress; | 4102 | decl.analysis = .in_progress; |
| 4103 | | 4103 | |
| ... | @@ -4323,7 +4323,7 @@ fn semaAnonOwnerDecl(zcu: *Zcu, decl_index: Decl.Index) !SemaDeclResult { | ... | @@ -4323,7 +4323,7 @@ fn semaAnonOwnerDecl(zcu: *Zcu, decl_index: Decl.Index) !SemaDeclResult { |
| 4323 | // with a new Decl. | 4323 | // with a new Decl. |
| 4324 | // | 4324 | // |
| 4325 | // Yes, this does mean that any type owner Decl has a constant value for its entire lifetime. | 4325 | // Yes, this does mean that any type owner Decl has a constant value for its entire lifetime. |
| 4326 | zcu.intern_pool.removeDependenciesForDepender(zcu.gpa, InternPool.Depender.wrap(.{ .decl = decl_index })); | 4326 | zcu.intern_pool.removeDependenciesForDepender(zcu.gpa, InternPool.AnalSubject.wrap(.{ .decl = decl_index })); |
| 4327 | zcu.intern_pool.remove(decl.val.toIntern()); | 4327 | zcu.intern_pool.remove(decl.val.toIntern()); |
| 4328 | decl.analysis = .dependency_failure; | 4328 | decl.analysis = .dependency_failure; |
| 4329 | return .{ | 4329 | return .{ |
| ... | @@ -5026,7 +5026,7 @@ pub fn analyzeFnBody(mod: *Module, func_index: InternPool.Index, arena: Allocato | ... | @@ -5026,7 +5026,7 @@ pub fn analyzeFnBody(mod: *Module, func_index: InternPool.Index, arena: Allocato |
| 5026 | const decl_prog_node = mod.sema_prog_node.start((try decl.fullyQualifiedName(mod)).toSlice(ip), 0); | 5026 | const decl_prog_node = mod.sema_prog_node.start((try decl.fullyQualifiedName(mod)).toSlice(ip), 0); |
| 5027 | defer decl_prog_node.end(); | 5027 | defer decl_prog_node.end(); |
| 5028 | | 5028 | |
| 5029 | mod.intern_pool.removeDependenciesForDepender(gpa, InternPool.Depender.wrap(.{ .func = func_index })); | 5029 | mod.intern_pool.removeDependenciesForDepender(gpa, InternPool.AnalSubject.wrap(.{ .func = func_index })); |
| 5030 | | 5030 | |
| 5031 | var comptime_err_ret_trace = std.ArrayList(LazySrcLoc).init(gpa); | 5031 | var comptime_err_ret_trace = std.ArrayList(LazySrcLoc).init(gpa); |
| 5032 | defer comptime_err_ret_trace.deinit(); | 5032 | defer comptime_err_ret_trace.deinit(); |
| ... | @@ -5627,7 +5627,7 @@ pub fn linkerUpdateDecl(zcu: *Zcu, decl_index: Decl.Index) !void { | ... | @@ -5627,7 +5627,7 @@ pub fn linkerUpdateDecl(zcu: *Zcu, decl_index: Decl.Index) !void { |
| 5627 | .{@errorName(err)}, | 5627 | .{@errorName(err)}, |
| 5628 | )); | 5628 | )); |
| 5629 | decl.analysis = .codegen_failure; | 5629 | decl.analysis = .codegen_failure; |
| 5630 | try zcu.retryable_failures.append(zcu.gpa, InternPool.Depender.wrap(.{ .decl = decl_index })); | 5630 | try zcu.retryable_failures.append(zcu.gpa, InternPool.AnalSubject.wrap(.{ .decl = decl_index })); |
| 5631 | }, | 5631 | }, |
| 5632 | }; | 5632 | }; |
| 5633 | } else if (zcu.llvm_object) |llvm_object| { | 5633 | } else if (zcu.llvm_object) |llvm_object| { |