()
| 1147 | }; |
| 1148 | |
| 1149 | const processOutdatedChunkGroupInfo = () => { |
| 1150 | statChunkGroupInfoUpdated += outdatedChunkGroupInfo.size; |
| 1151 | class="cm">// Revisit skipped elements |
| 1152 | for (const info of outdatedChunkGroupInfo) { |
| 1153 | class="cm">// 1. Reconsider skipped items |
| 1154 | if (info.skippedItems !== undefined) { |
| 1155 | const minAvailableModules = |
| 1156 | /** @type {bigint} */ |
| 1157 | (info.minAvailableModules); |
| 1158 | for (const module of info.skippedItems) { |
| 1159 | const ordinal = getModuleOrdinal(module); |
| 1160 | if (!isOrdinalSetInMask(minAvailableModules, ordinal)) { |
| 1161 | queue.push({ |
| 1162 | action: ADD_AND_ENTER_MODULE, |
| 1163 | block: module, |
| 1164 | module, |
| 1165 | chunk: info.chunkGroup.chunks[0], |
| 1166 | chunkGroup: info.chunkGroup, |
| 1167 | chunkGroupInfo: info |
| 1168 | }); |
| 1169 | info.skippedItems.delete(module); |
| 1170 | } |
| 1171 | } |
| 1172 | } |
| 1173 | |
| 1174 | class="cm">// 2. Reconsider skipped connections |
| 1175 | if (info.skippedModuleConnections !== undefined) { |
| 1176 | const minAvailableModules = |
| 1177 | /** @type {bigint} */ |
| 1178 | (info.minAvailableModules); |
| 1179 | for (const entry of info.skippedModuleConnections) { |
| 1180 | const [module, connections] = entry; |
| 1181 | const activeState = getActiveStateOfConnections( |
| 1182 | connections, |
| 1183 | info.runtime |
| 1184 | ); |
| 1185 | if (activeState === false) continue; |
| 1186 | if (activeState === true) { |
| 1187 | const ordinal = getModuleOrdinal(module); |
| 1188 | info.skippedModuleConnections.delete(entry); |
| 1189 | if (isOrdinalSetInMask(minAvailableModules, ordinal)) { |
| 1190 | /** @type {NonNullable<ChunkGroupInfo[class="st">"skippedItems"]>} */ |
| 1191 | (info.skippedItems).add(module); |
| 1192 | continue; |
| 1193 | } |
| 1194 | } |
| 1195 | queue.push({ |
| 1196 | action: activeState === true ? ADD_AND_ENTER_MODULE : PROCESS_BLOCK, |
| 1197 | block: module, |
| 1198 | module, |
| 1199 | chunk: info.chunkGroup.chunks[0], |
| 1200 | chunkGroup: info.chunkGroup, |
| 1201 | chunkGroupInfo: info |
| 1202 | }); |
| 1203 | } |
| 1204 | } |
| 1205 | |
| 1206 | class="cm">// 2. Reconsider children chunk groups |
no test coverage detected