diff --git a/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp b/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp index 18ff42d866..8daa80b2c1 100644 --- a/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp +++ b/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp @@ -655,6 +655,10 @@ void TemplateLiteral::generate_bytecode(Bytecode::Generator& generator) const void TaggedTemplateLiteral::generate_bytecode(Bytecode::Generator& generator) const { + m_tag->generate_bytecode(generator); + auto tag_reg = generator.allocate_register(); + generator.emit(tag_reg); + Vector string_regs; auto& expressions = m_template_literal->expressions(); for (size_t i = 0; i < expressions.size(); ++i) { @@ -698,10 +702,6 @@ void TaggedTemplateLiteral::generate_bytecode(Bytecode::Generator& generator) co generator.emit(strings_reg); generator.emit(raw_strings_reg, generator.intern_string("raw")); - m_tag->generate_bytecode(generator); - auto tag_reg = generator.allocate_register(); - generator.emit(tag_reg); - generator.emit(js_undefined()); auto this_reg = generator.allocate_register(); generator.emit(this_reg);