ladybird/Userland/Libraries/LibJS/Bytecode
Luke Wilde c153d1779e LibJS/Bytecode: End the for variable scope at the start of its end block
If the for loop's body is not block terminated, we will generate a Jump
to the end block which will block terminate the body. Then, we ended
the lexical variable scope if needed. However, since the body is now
block terminated, the "LeaveLexicalEnvironment" instruction that is
generated by end_variable_scope is now dropped on the floor.

This fixes this by moving it to the beginning of the end block.
2022-06-30 15:59:55 +01:00
..
Pass LibJS/Bytecode: Replace merged block references before copying them 2022-03-14 22:28:53 +01:00
ASTCodegen.cpp LibJS/Bytecode: End the for variable scope at the start of its end block 2022-06-30 15:59:55 +01:00
BasicBlock.cpp
BasicBlock.h
CodeGenerationError.h LibJS: Make ASTNode::generate_bytecode() fallible 2022-02-13 14:41:33 +00:00
Executable.cpp
Executable.h
Generator.cpp LibJS/Bytecode: Implement break/continue labels 2022-06-13 07:13:03 +04:30
Generator.h LibJS/Bytecode: Implement break/continue labels 2022-06-13 07:13:03 +04:30
IdentifierTable.cpp
IdentifierTable.h
Instruction.cpp
Instruction.h LibJS/Bytecode: Make typeof return "undefined" on unresolvable IDs 2022-06-13 07:13:03 +04:30
Interpreter.cpp LibJS: Avoid copying the frame into the interpreter in BC generators 2022-04-18 23:59:30 +04:30
Interpreter.h LibJS: Avoid copying the frame into the interpreter in BC generators 2022-04-18 23:59:30 +04:30
Label.h
Op.cpp LibJS/Bytecode: Pass contains_direct_call_to_eval into ESFO::create 2022-06-13 07:13:03 +04:30
Op.h LibJS/Bytecode: Make typeof return "undefined" on unresolvable IDs 2022-06-13 07:13:03 +04:30
PassManager.h
Register.h
StringTable.cpp
StringTable.h