ladybird/Userland/Libraries/LibJS/Bytecode
Ali Mohammad Pur 01e8f0889a LibJS: Generate bytecode in basic blocks instead of one big block
This limits the size of each block (currently set to 1K), and gets us
closer to a canonical, more easily analysable bytecode format.
As a result of this, "Labels" are now simply entries to basic blocks.
Since there is no more 'conditional' jump (as all jumps are always
taken), JumpIf{True,False} are unified to JumpConditional, and
JumpIfNullish is renamed to JumpNullish.
Also fixes #7914 as a result of reimplementing the loop logic.
2021-06-09 09:07:29 +02:00
..
ASTCodegen.cpp LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
BasicBlock.cpp LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
BasicBlock.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Generator.cpp LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Generator.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Instruction.cpp LibJS: Generate bytecode for array expressions 2021-06-09 01:27:18 +02:00
Instruction.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Interpreter.cpp LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Interpreter.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Label.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Op.cpp LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Op.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Register.h LibJS: Introduce an accumulator register to Bytecode::Interpreter 2021-06-08 21:00:12 +02:00