xo-gc stack: refactor + streamline.

Retiring unused Collector typealiases.
Fix #include topology.
Fix/improve write barrier setup.
This commit is contained in:
Roland Conybeare 2026-05-02 13:49:29 -04:00
commit cff5963b31
10 changed files with 17 additions and 10 deletions

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -42,7 +42,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -41,7 +41,6 @@ namespace xo {
///@{
using size_type = xo::mm::AGCObject::size_type;
using AAllocator = xo::mm::AGCObject::AAllocator;
using ACollector = xo::mm::AGCObject::ACollector;
using AGCObjectVisitor = xo::mm::AGCObject::AGCObjectVisitor;
using VisitReason = xo::mm::AGCObject::VisitReason;
using Copaque = xo::mm::AGCObject::Copaque;

View file

@ -9,10 +9,18 @@
* [iface_facet_any.hpp.j2]
* 3. idl for facet methods
* [idl/Sequence.json5]
*
* variables:
* {facet_hpp_fname} -> Sequence.hpp
* {impl_hpp_subdir} -> sequence
* {facet_ns1} -> xo
* {facet_detail_subdir} -> sequence
* {abstract_facet_fname} -> ASequence.hpp
**/
#pragma once
#include "ASequence.hpp"
#include <xo/alloc2/GCObject.hpp>
namespace xo {

View file

@ -4,7 +4,7 @@
**/
#include "DArray.hpp"
#include "gc/RCollector_aux.hpp"
//#include "gc/RCollector_aux.hpp"
#include <xo/printable2/Printable.hpp>
#include <xo/facet/FacetRegistry.hpp>
#include <xo/indentlog/print/pretty.hpp>
@ -16,7 +16,7 @@ namespace xo {
using xo::print::APrintable;
using xo::facet::FacetRegistry;
using xo::mm::AGCObject;
using xo::mm::mm_do_assign;
//using xo::mm::mm_do_assign;
using xo::facet::typeseq;
namespace scm {

View file

@ -6,7 +6,13 @@
#include "DList.hpp"
#include "list/IPrintable_DList.hpp"
#include "list/IGCObject_DList.hpp"
#include <xo/alloc2/GCObjectVisitor.hpp>
#include <xo/alloc2/GCObject.hpp>
// need Collector for mm_do_assign()
#include <xo/alloc2/Collector.hpp>
#include <xo/alloc2/gc/RCollector_aux.hpp> // for mm_do_assign()
#include <xo/printable2/Printable.hpp>
#include <xo/facet/FacetRegistry.hpp>
#include <xo/facet/facet_implementation.hpp>
@ -137,7 +143,7 @@ namespace xo {
{
scope log(XO_DEBUG(true), xtag("gc.data", gc.data_));
mm_do_assign(gc, this, &head_, rhs);
xo::mm::mm_do_assign(gc, this, &head_, rhs);
}
void