mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 20:59:16 +00:00
LibJS/Bytecode: Bring back the bytecode optimization pipeline
...minus the EliminateLoads pass, since it was not compatible with the new bytecode format.
This commit is contained in:
parent
836d93f7e3
commit
5b29974bfa
Notes:
sideshowbarker
2024-07-17 07:48:42 +09:00
Author: https://github.com/awesomekling
Commit: 5b29974bfa
Pull-request: https://github.com/SerenityOS/serenity/pull/23462
Reviewed-by: https://github.com/Hendiadyoin1
15 changed files with 962 additions and 65 deletions
|
@ -2510,7 +2510,7 @@ Bytecode::CodeGenerationErrorOr<Optional<Bytecode::Operand>> TryStatement::gener
|
|||
|
||||
auto& target_block = generator.make_block();
|
||||
generator.switch_to_basic_block(saved_block);
|
||||
generator.emit<Bytecode::Op::EnterUnwindContext>(Bytecode::Label { target_block });
|
||||
generator.emit<Bytecode::Op::EnterUnwindContext>(Bytecode::Label { target_block }, handler_target, finalizer_target);
|
||||
generator.start_boundary(Bytecode::Generator::BlockBoundaryType::Unwind);
|
||||
if (m_finalizer)
|
||||
generator.start_boundary(Bytecode::Generator::BlockBoundaryType::ReturnToFinally);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue