Skip to content

Commit d3e8fbd

Browse files
committed
LibJS: Don't create unique FunctionParameters for every empty param set
1 parent 72aa903 commit d3e8fbd

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

Libraries/LibJS/Parser.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3139,6 +3139,10 @@ NonnullRefPtr<FunctionParameters const> Parser::parse_formal_parameters(int& fun
31393139
if (!match(TokenType::Eof) && !match(TokenType::ParenClose))
31403140
expected(Token::name(TokenType::ParenClose));
31413141

3142+
// OPTIMIZATION: If there are no parameters, return the shared empty FunctionParameters instance.
3143+
if (parameters.is_empty())
3144+
return FunctionParameters::empty();
3145+
31423146
parameters.shrink_to_fit();
31433147
return FunctionParameters::create(move(parameters));
31443148
}

0 commit comments

Comments
 (0)