ladybird/Libraries/LibJS
Andreas Kling 619cd613d0 LibJS: Give VM a cache of single-ASCII-character PrimitiveString
A large number of JS strings are a single ASCII character. This patch
adds a 128-entry cache for those strings to the VM. The cost of the
cache is 1536 byte of GC heap (all in same block) + 2304 bytes malloc.

This avoids a lot of GC heap allocations, and packing all of these
in the same heap block is nice for fragmentation as well.
2020-10-22 17:48:12 +02:00
..
Heap Everywhere: Add missing <AK/TemporaryChange.h> includes 2020-10-15 23:49:53 +02:00
Runtime LibJS: Give VM a cache of single-ASCII-character PrimitiveString 2020-10-22 17:48:12 +02:00
Tests LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
AST.cpp LibJS: Fix dump() indentation of UpdateExpression with suffix operator 2020-10-19 11:31:55 +02:00
AST.h LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
CMakeLists.txt LibJS: Split Heap into per-cell-size allocators 2020-10-06 18:50:47 +02:00
Console.cpp LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Console.h LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Forward.h LibJS: Split Heap into per-cell-size allocators 2020-10-06 18:50:47 +02:00
Interpreter.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Interpreter.h LibJS: Remove some unused Interpreter member functions 2020-10-04 23:10:07 +02:00
Lexer.cpp LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
Lexer.h LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
MarkupGenerator.cpp LibJS: Unify syntax highlighting 2020-10-04 23:41:31 +02:00
MarkupGenerator.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Parser.cpp LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
Parser.h LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
Token.cpp LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00
Token.h LibJS: Support all line terminators (LF, CR, LS, PS) 2020-10-22 10:06:30 +02:00