From a1aea5b9e0c5c621fc6fcae9995163d285d150ef Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Fri, 24 Dec 2021 21:38:33 +0100 Subject: [PATCH] LibJS: Avoid unnecessary copies in PlaceBlocks codegen pass --- Userland/Libraries/LibJS/Bytecode/Pass/PlaceBlocks.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/Bytecode/Pass/PlaceBlocks.cpp b/Userland/Libraries/LibJS/Bytecode/Pass/PlaceBlocks.cpp index a9b925f301..017ef191b2 100644 --- a/Userland/Libraries/LibJS/Bytecode/Pass/PlaceBlocks.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Pass/PlaceBlocks.cpp @@ -26,7 +26,11 @@ void PlaceBlocks::perform(PassPipelineExecutable& executable) reachable_blocks.set(block); replaced_blocks.append(*const_cast(block)); - for (auto& entry : cfg.get(block).value_or({})) + auto children = cfg.find(block); + if (children == cfg.end()) + return; + + for (auto& entry : children->value) visit(entry); };