ladybird/Userland/Libraries/LibJS/Bytecode
Luke Wilde 0356239f3e LibJS/Bytecode: Unconditionally end break/continuable scopes
Previously we would only end these scopes if the block was not
terminated. If the block was generated, we would not end the scope
and would generate other bytecode with these scopes still open.

These functions do not generate any code, so they can be used even if
the current block is terminated. The enter and end scope functions are
only used to track where to unwind to when break/continue are used.
2022-03-14 21:15:27 +03:30
..
Pass LibJS: Avoid unnecessary copies in MergeBlocks codegen pass 2022-01-01 15:40:39 +01:00
ASTCodegen.cpp LibJS/Bytecode: Unconditionally end break/continuable scopes 2022-03-14 21:15:27 +03:30
BasicBlock.cpp LibJS: Always inline the bytecode instruction iterator's operator++ 2021-10-25 13:37:02 +02:00
BasicBlock.h LibJS: Always inline the bytecode instruction iterator's operator++ 2021-10-25 13:37:02 +02:00
CodeGenerationError.h LibJS: Make ASTNode::generate_bytecode() fallible 2022-02-13 14:41:33 +00:00
Executable.cpp LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Executable.h LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Generator.cpp LibJS: Leave the unwind context on break/continue/return in bytecode 2022-03-13 17:50:21 +01:00
Generator.h LibJS: Leave the unwind context on break/continue/return in bytecode 2022-03-13 17:50:21 +01:00
IdentifierTable.cpp LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
IdentifierTable.h LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Instruction.cpp LibJS: Move Instruction::length() to the Op.h header 2021-06-09 09:24:32 +02:00
Instruction.h LibJS: Implement bytecode generation for WithStatement 2022-03-13 17:50:21 +01:00
Interpreter.cpp LibJS: More properly implement scoping rules in bytecode codegen 2022-02-13 14:41:33 +00:00
Interpreter.h LibJS: More properly implement scoping rules in bytecode codegen 2022-02-13 14:41:33 +00:00
Label.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Op.cpp LibJS: Implement bytecode generation for WithStatement 2022-03-13 17:50:21 +01:00
Op.h LibJS: Implement bytecode generation for WithStatement 2022-03-13 17:50:21 +01:00
PassManager.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Register.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
StringTable.cpp LibJS: Use String and move semantics in Bytecode::StringTable 2021-10-24 17:18:07 +02:00
StringTable.h LibJS: Use String and move semantics in Bytecode::StringTable 2021-10-24 17:18:07 +02:00