Skip to content

Commit b75b20b

Browse files
authored
Merge pull request webpack#5595 from filipesilva/fix-deopts
fix: replace for..of to prevent v8 deoptimization
2 parents c8fd542 + 2f30174 commit b75b20b

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

lib/SourceMapDevToolPlugin.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ class SourceMapDevToolPlugin {
9696
return module || source;
9797
});
9898

99-
for(const module of modules) {
99+
for(let idx = 0; idx < modules.length; idx++) {
100+
const module = modules[idx];
100101
if(!moduleToSourceNameMapping.get(module)) {
101102
moduleToSourceNameMapping.set(module, ModuleFilenameHelpers.createFilename(module, moduleFilenameTemplate, requestShortener));
102103
}
@@ -121,7 +122,8 @@ class SourceMapDevToolPlugin {
121122
});
122123

123124
// find modules with conflicting source names
124-
for(const module of allModules) {
125+
for(let idx = 0; idx < allModules.length; idx++) {
126+
const module = allModules[idx];
125127
let sourceName = moduleToSourceNameMapping.get(module);
126128
let hasName = conflictDetectionSet.has(sourceName);
127129
if(!hasName) {

lib/dependencies/HarmonyModulesHelpers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ class HarmonyModulesHelpers {
3434
const desc = depInQuestion.describeHarmonyExport();
3535
if(!desc.exportedName) return true;
3636
let before = true;
37-
for(const moduleDependency of module.dependencies) {
38-
const dep = moduleDependency;
37+
for(let idx = 0; idx < module.dependencies.length; idx++) {
38+
const dep = module.dependencies[idx];
3939
if(dep === depInQuestion) {
4040
before = false;
4141
continue;

0 commit comments

Comments
 (0)