LibJS: Don't track "last result" of ScopeNode if we don't need it

This prevents unnecessary bytecode register allocation.
This commit is contained in:
Andreas Kling 2025-04-07 15:59:30 +02:00
parent 514641f2ec
commit 8d8f4bd744

View file

@ -56,8 +56,10 @@ Bytecode::CodeGenerationErrorOr<Optional<ScopedOperand>> ScopeNode::generate_byt
Optional<ScopedOperand> last_result;
for (auto& child : children()) {
auto result = TRY(child->generate_bytecode(generator));
if (result.has_value())
last_result = result;
if (generator.must_propagate_completion()) {
if (result.has_value())
last_result = result;
}
if (generator.is_current_block_terminated())
break;
}