From 9e00bd6421aa0ff0248eed89db6d548a9ed9c09c Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Thu, 1 Oct 2026 12:42:43 +0200 Subject: [PATCH] twines: only GC the active design --- kernel/register.cc | 4 ++-- kernel/register.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/register.cc b/kernel/register.cc index 47cfcde8b..fb0bc06d3 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -58,8 +58,8 @@ void try_collect_garbage() if (!GarbageCollectionGuard::is_enabled() || !garbage_collection_requested) return; garbage_collection_requested = false; - for (auto &[idx, design] : *RTLIL::Design::get_all_designs()) - design->gc_twines(); + if (yosys_design) + yosys_design->gc_twines(); } Pass::Pass(std::string name, std::string short_help, source_location location) : diff --git a/kernel/register.h b/kernel/register.h index 00310908b..42bafa7eb 100644 --- a/kernel/register.h +++ b/kernel/register.h @@ -46,7 +46,7 @@ public: // Call from anywhere to request GC at the next safe point. void request_garbage_collection(); -// GC if GarbageCollectionGuard::is_enabled() and GC was requested. +// GC the active design if GarbageCollectionGuard::is_enabled() and GC was requested. void try_collect_garbage(); struct Pass