1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-08 21:17:35 +00:00
serenity/Libraries/LibJS
Andreas Kling 69bae3fd9a LibJS: Prevent object shape transitions during runtime object buildup
While initialization common runtime objects like functions, prototypes,
etc, we don't really care about tracking transitions for each and every
property added to them.

This patch puts objects into a "disable transitions" mode while we call
initialize() on them. After that, adding more properties will cause new
transitions to be generated and added to the chain.

This gives a ~10% speed-up on test-js. :^)
2020-10-05 20:53:00 +02:00
..
Heap LibJS: Prevent object shape transitions during runtime object buildup 2020-10-05 20:53:00 +02:00
Runtime LibJS: Prevent object shape transitions during runtime object buildup 2020-10-05 20:53:00 +02:00
Tests LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
AST.cpp LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
AST.h LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
CMakeLists.txt LibJS+Clients: Add JS::VM object, separate Heap from Interpreter 2020-09-20 19:24:44 +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: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Interpreter.cpp LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
Interpreter.h LibJS: Remove some unused Interpreter member functions 2020-10-04 23:10:07 +02:00
Lexer.cpp LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
Lexer.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +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: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00
Parser.h LibJS: Validate all assignment expressions, not just "=" 2020-10-05 09:25:04 +02:00
Token.cpp LibJS: Unify syntax highlighting 2020-10-04 23:41:31 +02:00
Token.h LibJS: Implement logical assignment operators (&&=, ||=, ??=) 2020-10-05 17:57:26 +02:00