From c810d4784ef1603f66fccfad8d170bed28ed5a59 Mon Sep 17 00:00:00 2001 From: Simon Wanner Date: Thu, 2 Nov 2023 21:59:54 +0100 Subject: [PATCH] LibJS/JIT: Compile the Await instruction --- Userland/Libraries/LibJS/JIT/Compiler.cpp | 5 +++++ Userland/Libraries/LibJS/JIT/Compiler.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/JIT/Compiler.cpp b/Userland/Libraries/LibJS/JIT/Compiler.cpp index 560c0e0ab7..b89acba56b 100644 --- a/Userland/Libraries/LibJS/JIT/Compiler.cpp +++ b/Userland/Libraries/LibJS/JIT/Compiler.cpp @@ -1724,6 +1724,11 @@ void Compiler::compile_yield(Bytecode::Op::Yield const& op) compile_continuation(op.continuation(), false); } +void Compiler::compile_await(Bytecode::Op::Await const& op) +{ + compile_continuation(op.continuation(), true); +} + void Compiler::jump_to_exit() { m_assembler.jump(m_exit_label); diff --git a/Userland/Libraries/LibJS/JIT/Compiler.h b/Userland/Libraries/LibJS/JIT/Compiler.h index f306d25bea..d6119c8a57 100644 --- a/Userland/Libraries/LibJS/JIT/Compiler.h +++ b/Userland/Libraries/LibJS/JIT/Compiler.h @@ -141,7 +141,8 @@ private: O(PutByValueWithThis, put_by_value_with_this) \ O(CopyObjectExcludingProperties, copy_object_excluding_properties) \ O(AsyncIteratorClose, async_iterator_close) \ - O(Yield, yield) + O(Yield, yield) \ + O(Await, await) # define DECLARE_COMPILE_OP(OpTitleCase, op_snake_case, ...) \ void compile_##op_snake_case(Bytecode::Op::OpTitleCase const&);