1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 22:25:07 +00:00

LibJS: Use FlyString for identifiers

This makes variable and property lookups a lot faster since comparing
two FlyStrings is O(1).
This commit is contained in:
Andreas Kling 2020-03-22 11:07:55 +01:00
parent 4f72f6b886
commit cccbe43056
19 changed files with 67 additions and 57 deletions

View file

@ -271,7 +271,7 @@ NonnullRefPtr<Expression> Parser::parse_unary_prefixed_expression()
NonnullRefPtr<ObjectExpression> Parser::parse_object_expression()
{
HashMap<String, NonnullRefPtr<Expression>> properties;
HashMap<FlyString, NonnullRefPtr<Expression>> properties;
consume(TokenType::CurlyOpen);
while (!match(TokenType::CurlyClose)) {
@ -471,7 +471,7 @@ NonnullRefPtr<FunctionNodeType> Parser::parse_function_node()
name = consume(TokenType::Identifier).value();
}
consume(TokenType::ParenOpen);
Vector<String> parameters;
Vector<FlyString> parameters;
while (match(TokenType::Identifier)) {
auto parameter = consume(TokenType::Identifier).value();
parameters.append(parameter);