| ... | @@ -1073,8 +1073,6 @@ pub fn ensureMemoizedStateUpToDate( | ... | @@ -1073,8 +1073,6 @@ pub fn ensureMemoizedStateUpToDate( |
| 1073 | | 1073 | |
| 1074 | const unit: AnalUnit = .wrap(.{ .memoized_state = stage }); | 1074 | const unit: AnalUnit = .wrap(.{ .memoized_state = stage }); |
| 1075 | | 1075 | |
| 1076 | log.debug("ensureMemoizedStateUpToDate", .{}); | | |
| 1077 | | | |
| 1078 | assert(!zcu.analysis_in_progress.contains(unit)); | 1076 | assert(!zcu.analysis_in_progress.contains(unit)); |
| 1079 | | 1077 | |
| 1080 | const was_outdated = zcu.clearOutdatedState(unit); | 1078 | const was_outdated = zcu.clearOutdatedState(unit); |
| ... | @@ -1142,6 +1140,8 @@ fn analyzeMemoizedState( | ... | @@ -1142,6 +1140,8 @@ fn analyzeMemoizedState( |
| 1142 | const comp = zcu.comp; | 1140 | const comp = zcu.comp; |
| 1143 | const gpa = comp.gpa; | 1141 | const gpa = comp.gpa; |
| 1144 | | 1142 | |
| | 1143 | log.debug("analyzeMemoizedState({t})", .{stage}); |
| | 1144 | |
| 1145 | const unit: AnalUnit = .wrap(.{ .memoized_state = stage }); | 1145 | const unit: AnalUnit = .wrap(.{ .memoized_state = stage }); |
| 1146 | | 1146 | |
| 1147 | try zcu.analysis_in_progress.putNoClobber(gpa, unit, reason); | 1147 | try zcu.analysis_in_progress.putNoClobber(gpa, unit, reason); |
| ... | @@ -1182,8 +1182,6 @@ pub fn ensureComptimeUnitUpToDate(pt: Zcu.PerThread, cu_id: InternPool.ComptimeU | ... | @@ -1182,8 +1182,6 @@ pub fn ensureComptimeUnitUpToDate(pt: Zcu.PerThread, cu_id: InternPool.ComptimeU |
| 1182 | | 1182 | |
| 1183 | const anal_unit: AnalUnit = .wrap(.{ .@"comptime" = cu_id }); | 1183 | const anal_unit: AnalUnit = .wrap(.{ .@"comptime" = cu_id }); |
| 1184 | | 1184 | |
| 1185 | log.debug("ensureComptimeUnitUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 1186 | | | |
| 1187 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 1185 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 1188 | | 1186 | |
| 1189 | // Determine whether or not this `ComptimeUnit` is outdated. For this kind of `AnalUnit`, that's | 1187 | // Determine whether or not this `ComptimeUnit` is outdated. For this kind of `AnalUnit`, that's |
| ... | @@ -1345,8 +1343,6 @@ pub fn ensureTypeLayoutUpToDate( | ... | @@ -1345,8 +1343,6 @@ pub fn ensureTypeLayoutUpToDate( |
| 1345 | | 1343 | |
| 1346 | const anal_unit: AnalUnit = .wrap(.{ .type_layout = ty.toIntern() }); | 1344 | const anal_unit: AnalUnit = .wrap(.{ .type_layout = ty.toIntern() }); |
| 1347 | | 1345 | |
| 1348 | log.debug("ensureTypeLayoutUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 1349 | | | |
| 1350 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 1346 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 1351 | | 1347 | |
| 1352 | const was_outdated: bool = outdated: { | 1348 | const was_outdated: bool = outdated: { |
| ... | @@ -1413,6 +1409,8 @@ pub fn ensureTypeLayoutUpToDate( | ... | @@ -1413,6 +1409,8 @@ pub fn ensureTypeLayoutUpToDate( |
| 1413 | }; | 1409 | }; |
| 1414 | defer sema.deinit(); | 1410 | defer sema.deinit(); |
| 1415 | | 1411 | |
| | 1412 | log.debug("ensureTypeLayoutUpToDate {f} (out of date, resolving)", .{zcu.fmtAnalUnit(anal_unit)}); |
| | 1413 | |
| 1416 | const result = switch (ty.zigTypeTag(zcu)) { | 1414 | const result = switch (ty.zigTypeTag(zcu)) { |
| 1417 | .@"enum" => Sema.type_resolution.resolveEnumLayout(&sema, ty), | 1415 | .@"enum" => Sema.type_resolution.resolveEnumLayout(&sema, ty), |
| 1418 | .@"struct" => Sema.type_resolution.resolveStructLayout(&sema, ty), | 1416 | .@"struct" => Sema.type_resolution.resolveStructLayout(&sema, ty), |
| ... | @@ -1478,8 +1476,6 @@ pub fn ensureStructDefaultsUpToDate( | ... | @@ -1478,8 +1476,6 @@ pub fn ensureStructDefaultsUpToDate( |
| 1478 | | 1476 | |
| 1479 | const anal_unit: AnalUnit = .wrap(.{ .struct_defaults = ty.toIntern() }); | 1477 | const anal_unit: AnalUnit = .wrap(.{ .struct_defaults = ty.toIntern() }); |
| 1480 | | 1478 | |
| 1481 | log.debug("ensureStructDefaultsUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 1482 | | | |
| 1483 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 1479 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 1484 | | 1480 | |
| 1485 | const was_outdated: bool = outdated: { | 1481 | const was_outdated: bool = outdated: { |
| ... | @@ -1536,6 +1532,8 @@ pub fn ensureStructDefaultsUpToDate( | ... | @@ -1536,6 +1532,8 @@ pub fn ensureStructDefaultsUpToDate( |
| 1536 | }; | 1532 | }; |
| 1537 | defer sema.deinit(); | 1533 | defer sema.deinit(); |
| 1538 | | 1534 | |
| | 1535 | log.debug("ensureStructDefaultsUpToDate {f} (out of date, resolving)", .{zcu.fmtAnalUnit(anal_unit)}); |
| | 1536 | |
| 1539 | const new_failed: bool = if (Sema.type_resolution.resolveStructDefaults(&sema, ty)) failed: { | 1537 | const new_failed: bool = if (Sema.type_resolution.resolveStructDefaults(&sema, ty)) failed: { |
| 1540 | break :failed false; | 1538 | break :failed false; |
| 1541 | } else |err| switch (err) { | 1539 | } else |err| switch (err) { |
| ... | @@ -1584,8 +1582,6 @@ pub fn ensureNavValUpToDate( | ... | @@ -1584,8 +1582,6 @@ pub fn ensureNavValUpToDate( |
| 1584 | const anal_unit: AnalUnit = .wrap(.{ .nav_val = nav_id }); | 1582 | const anal_unit: AnalUnit = .wrap(.{ .nav_val = nav_id }); |
| 1585 | const nav = ip.getNav(nav_id); | 1583 | const nav = ip.getNav(nav_id); |
| 1586 | | 1584 | |
| 1587 | log.debug("ensureNavValUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 1588 | | | |
| 1589 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 1585 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 1590 | | 1586 | |
| 1591 | try zcu.ensureNavValAnalysisQueued(nav_id); | 1587 | try zcu.ensureNavValAnalysisQueued(nav_id); |
| ... | @@ -1946,8 +1942,6 @@ pub fn ensureNavTypeUpToDate( | ... | @@ -1946,8 +1942,6 @@ pub fn ensureNavTypeUpToDate( |
| 1946 | const anal_unit: AnalUnit = .wrap(.{ .nav_ty = nav_id }); | 1942 | const anal_unit: AnalUnit = .wrap(.{ .nav_ty = nav_id }); |
| 1947 | const nav = ip.getNav(nav_id); | 1943 | const nav = ip.getNav(nav_id); |
| 1948 | | 1944 | |
| 1949 | log.debug("ensureNavTypeUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 1950 | | | |
| 1951 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 1945 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 1952 | | 1946 | |
| 1953 | try zcu.ensureNavValAnalysisQueued(nav_id); | 1947 | try zcu.ensureNavValAnalysisQueued(nav_id); |
| ... | @@ -2191,8 +2185,6 @@ pub fn ensureFuncBodyUpToDate( | ... | @@ -2191,8 +2185,6 @@ pub fn ensureFuncBodyUpToDate( |
| 2191 | | 2185 | |
| 2192 | const anal_unit: AnalUnit = .wrap(.{ .func = func_index }); | 2186 | const anal_unit: AnalUnit = .wrap(.{ .func = func_index }); |
| 2193 | | 2187 | |
| 2194 | log.debug("ensureFuncBodyUpToDate {f}", .{zcu.fmtAnalUnit(anal_unit)}); | | |
| 2195 | | | |
| 2196 | assert(!zcu.analysis_in_progress.contains(anal_unit)); | 2188 | assert(!zcu.analysis_in_progress.contains(anal_unit)); |
| 2197 | | 2189 | |
| 2198 | const func = zcu.funcInfo(func_index); | 2190 | const func = zcu.funcInfo(func_index); |
| ... | @@ -2282,7 +2274,7 @@ fn analyzeFuncBody( | ... | @@ -2282,7 +2274,7 @@ fn analyzeFuncBody( |
| 2282 | else | 2274 | else |
| 2283 | .none; | 2275 | .none; |
| 2284 | | 2276 | |
| 2285 | log.debug("analyze and generate fn body {f}", .{zcu.fmtAnalUnit(anal_unit)}); | 2277 | log.debug("analyzeFuncBody {f}", .{zcu.fmtAnalUnit(anal_unit)}); |
| 2286 | | 2278 | |
| 2287 | var air = try pt.analyzeFuncBodyInner(func_index, reason); | 2279 | var air = try pt.analyzeFuncBodyInner(func_index, reason); |
| 2288 | var air_owned = true; | 2280 | var air_owned = true; |