ladybird/Userland/Libraries/LibJS/Bytecode
Andreas Kling e7d69c5d3c LibJS: Devirtualize and pack the bytecode stream :^)
This patch changes the LibJS bytecode to be a stream of instructions
packed one-after-the-other in contiguous memory, instead of a vector
of OwnPtr<Instruction>. This should be a lot more cache-friendly. :^)

Instructions are also devirtualized and instead have a type field
using a new Instruction::Type enum.

To iterate over a bytecode stream, one must now use
Bytecode::InstructionStreamIterator.
2021-06-07 18:11:59 +02:00
..
ASTCodegen.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Block.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Block.h LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Generator.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Generator.h LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Instruction.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Instruction.h LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Interpreter.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Interpreter.h LibJS: Compile ScriptFunctions into bytecode and run them that way :^) 2021-06-07 18:11:59 +02:00
Label.h LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Op.cpp LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Op.h LibJS: Devirtualize and pack the bytecode stream :^) 2021-06-07 18:11:59 +02:00
Register.h LibJS: Print bytecode registers with format "$num" instead of "rnum" 2021-06-07 18:11:59 +02:00