diff --git a/Libraries/LibJS/Bytecode/Generator.cpp b/Libraries/LibJS/Bytecode/Generator.cpp index 87b3687a9c4..930b0c6264b 100644 --- a/Libraries/LibJS/Bytecode/Generator.cpp +++ b/Libraries/LibJS/Bytecode/Generator.cpp @@ -136,7 +136,19 @@ CodeGenerationErrorOr Generator::emit_function_declaration_instantiation(E } } } else { - emit(function.m_var_environment_bindings_count); + bool has_non_local_parameters = false; + if (scope_body) { + for (auto const& variable_to_initialize : function.m_var_names_to_initialize_binding) { + auto const& id = variable_to_initialize.identifier; + if (!id.is_local()) { + has_non_local_parameters = true; + break; + } + } + } + + if (has_non_local_parameters) + emit(function.m_var_environment_bindings_count); if (scope_body) { for (auto const& variable_to_initialize : function.m_var_names_to_initialize_binding) {