Просмотр исходного кода

LibJS: Avoid unnecessary HashMap growth in Interpreter::enter_scope()

Don't bother pre-allocating a hash map if we're not gonna put anything
into it anyway.
Andreas Kling 3 лет назад
Родитель
Сommit
d294a3f54a
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      Userland/Libraries/LibJS/Interpreter.cpp

+ 3 - 1
Userland/Libraries/LibJS/Interpreter.cpp

@@ -113,7 +113,9 @@ void Interpreter::enter_scope(const ScopeNode& scope_node, ScopeType scope_type,
     }
     }
 
 
     HashMap<FlyString, Variable> scope_variables_with_declaration_kind;
     HashMap<FlyString, Variable> scope_variables_with_declaration_kind;
-    scope_variables_with_declaration_kind.ensure_capacity(16);
+
+    if (!scope_node.variables().is_empty())
+        scope_variables_with_declaration_kind.ensure_capacity(16);
 
 
     bool is_program_node = is<Program>(scope_node);
     bool is_program_node = is<Program>(scope_node);