refactor: retire GCObject.shallow_copy()

Collector gets this info from gc-owned object header
This commit is contained in:
Roland Conybeare 2026-04-04 18:01:25 -04:00
commit 52fbf801ab

View file

@ -133,9 +133,8 @@ namespace xo {
///@} ///@}
/** @defgroup scm-primitive-gcobject-facet **/ /** @defgroup scm-primitive-gcobject-facet **/
///@{ ///@{
std::size_t shallow_size() const noexcept;
Primitive * shallow_move(obj<ACollector> gc) noexcept; Primitive * shallow_move(obj<ACollector> gc) noexcept;
std::size_t forward_children(obj<ACollector> gc) noexcept; void forward_children(obj<ACollector> gc) noexcept;
///@} ///@}
private: private:
@ -190,12 +189,6 @@ namespace xo {
refrtag("fn", fn_)); refrtag("fn", fn_));
} }
template <typename Fn>
std::size_t
Primitive<Fn>::shallow_size() const noexcept {
return sizeof(*this);
}
template <typename Fn> template <typename Fn>
Primitive<Fn> * Primitive<Fn> *
Primitive<Fn>::shallow_move(obj<ACollector> gc) noexcept { Primitive<Fn>::shallow_move(obj<ACollector> gc) noexcept {
@ -203,14 +196,12 @@ namespace xo {
} }
template <typename Fn> template <typename Fn>
std::size_t void
Primitive<Fn>::forward_children(obj<ACollector> gc) noexcept { Primitive<Fn>::forward_children(obj<ACollector> gc) noexcept {
{ {
auto e = type_.to_facet<AGCObject>(); // FacetRegistry dep auto e = type_.to_facet<AGCObject>(); // FacetRegistry dep
gc.forward_inplace(e.iface(), (void **)&(type_.data_)); gc.forward_inplace(e.iface(), (void **)&(type_.data_));
} }
return this->shallow_size();
} }
} /*namespace scm*/ } /*namespace scm*/