From 9a2c2772c26eff3ed424ba3848d82e7be9553955 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 3 Apr 2026 16:46:14 -0400 Subject: [PATCH] xo-gc: refactor: retire DX1Collector._deep_move_root() --- include/xo/gc/DX1Collector.hpp | 2 ++ src/gc/DX1Collector.cpp | 24 +++--------------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/include/xo/gc/DX1Collector.hpp b/include/xo/gc/DX1Collector.hpp index 1f2ceba..0bc3594 100644 --- a/include/xo/gc/DX1Collector.hpp +++ b/include/xo/gc/DX1Collector.hpp @@ -370,11 +370,13 @@ namespace xo { /** cleanup after gc **/ void _cleanup_phase(Generation upto); +#ifdef OBSOLETE /** move root subgraph at @p from_src to to-space. * If not in gc-space, visit immediate children and move them. * Require: runstate_.is_running() **/ void * _deep_move_root(obj from_src, Generation upto); +#endif /** Common driver for _deep_move_root(), _deep_move_interior() **/ void * _deep_move_gc_owned(void * from_src, Generation upto); /** snap checkpoint containing allocator state diff --git a/src/gc/DX1Collector.cpp b/src/gc/DX1Collector.cpp index 3dd7c16..2d7dc6a 100644 --- a/src/gc/DX1Collector.cpp +++ b/src/gc/DX1Collector.cpp @@ -82,26 +82,6 @@ namespace xo { this->_init_mlogs(page_z); } -#ifdef OBSOLETE // called from GCObjectStore ctor - void - DX1Collector::_init_object_types(const X1CollectorConfig & cfg, std::size_t page_z) - { - gco_state_._init_object_types(); - -#ifdef MOVED - /* 1MB reserved address space enough for up to 128k distinct types. - * In this case don't want to use hugepages since actual #of types - * likely << .size/8 - */ - this->object_types_ - = ObjectTypeTable::map(ArenaConfig{.name_ = "x1-object-types", - .size_ = cfg.object_types_z_, - .hugepage_z_ = page_z, - .store_header_flag_ = false}); -#endif - } -#endif - void DX1Collector::_init_gc_roots(const X1CollectorConfig & cfg, std::size_t page_z) { @@ -803,12 +783,14 @@ namespace xo { this->runstate_ = GCRunState::idle(); } +#ifdef OBSOLETE void * DX1Collector::_deep_move_root(obj from_src, Generation upto) { return gco_store_._deep_move_root(this, from_src, upto); } +#endif /* * rules: @@ -855,7 +837,7 @@ namespace xo { xtag("slot.root()", slot.root()), xtag("slot.root()->data_", slot.root()->data_)); - void * root_to = this->_deep_move_root(*slot.root(), upto); + void * root_to = gco_store_._deep_move_root(this, *slot.root(), upto); slot.root()->reset_opaque(root_to);