1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 11:45:06 +00:00
serenity/Userland/Libraries/LibJS
Linus Groh a50e33abe3 LibJS: Skip ID_{Start,Continue} property lookup for any ASCII characters
Before this change, Lexer::is_identifier_{start,middle}() would do a
Unicode property lookup via Unicode::code_point_has_property() quite
frequently, especially for common characters like .,;{}[]() etc.

Since these and any other ASCII characters not covered by the alpha /
alphanumeric check are known to not have the ID_Start / ID_Continue
(except '_', which is special-cased now) properties, we can easily
avoid this function call.
2021-09-14 02:48:57 +02:00
..
Bytecode LibJS: Also set ExecutionContext::realm in Bytecode::Interpreter::run() 2021-09-13 21:06:18 +01:00
Heap LibJS: Use ElapsedTimer::start_new(); 2021-09-12 17:24:44 +00:00
Runtime LibJS: Convert Temporal.ZonedDateTime.prototype to be a PrototypeObject 2021-09-13 19:07:26 +01:00
Tests LibJS: Evaluate function arguments before checking callee type 2021-09-13 17:44:08 +01:00
AST.cpp LibJS: Evaluate function arguments before checking callee type 2021-09-13 17:44:08 +01:00
AST.h LibJS: Add support for public fields in classes 2021-09-01 13:39:14 +01:00
CMakeLists.txt LibJS: Start adding a JS::Realm class (spec's "Realm Record") 2021-09-12 11:10:20 +01:00
Console.cpp LibJS: Rename CallFrame => ExecutionContext 2021-06-24 19:28:00 +02:00
Console.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h LibJS: Start adding a JS::Realm class (spec's "Realm Record") 2021-09-12 11:10:20 +01:00
Interpreter.cpp LibJS: Change Interpreter::create_with_existing_{global_object => realm} 2021-09-12 15:18:25 +02:00
Interpreter.h LibJS: Change Interpreter::create_with_existing_{global_object => realm} 2021-09-12 15:18:25 +02:00
Lexer.cpp LibJS: Skip ID_{Start,Continue} property lookup for any ASCII characters 2021-09-14 02:48:57 +02:00
Lexer.h LibJS: Share "parsed identifiers" between copied JS::Lexer instances 2021-09-10 23:18:00 +02:00
MarkupGenerator.cpp LibJS: Remove unused includes out of Cell.h, move to the users 2021-08-01 08:10:16 +02:00
MarkupGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Parser.cpp LibJS: Fix that windows style line endings were not ignored or converted 2021-09-06 08:43:38 +01:00
Parser.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
Script.cpp LibJS: Log scripts parsed by JS::Script::parse() and how long it took 2021-09-13 22:21:57 +02:00
Script.h LibJS+LibWeb: Make JS::Script and Web::HTML::ClassicScript use Realms 2021-09-12 15:18:25 +02:00
SourceRange.h LibJS: Implement parsing and evaluation for AssignmentPatterns 2021-07-11 21:41:54 +01:00
SyntaxHighlighter.cpp LibJS: Remove unused header includes 2021-08-01 08:10:16 +02:00
SyntaxHighlighter.h LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Token.cpp AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
Token.h LibJS: Clean up token constructor and use method instead for identifiers 2021-09-06 08:43:38 +01:00