xo-gc xo-alloc: refactor for file organization

This commit is contained in:
Roland Conybeare 2025-12-22 23:31:12 -05:00
commit 8b5e2dd59f
13 changed files with 21 additions and 21 deletions

View file

@ -24,8 +24,7 @@ Abstraction tower for *xo-alloc2* components
| IAllocator_DArena | | IAllocator_DArena |
+--------------------------------+ +--------------------------------+
| IAllocator_Xfer | | IAllocator_Xfer |
+--------------------------------+ | IAllocator_Any |
| IAllocator_ImplType |
+--------------+-----------------+ +--------------+-----------------+
| | DArena | | | DArena |
| AAllocator +-----------------+ | AAllocator +-----------------+

View file

@ -5,13 +5,11 @@ xo-alloc2 documentation
xo-alloc2 is intended to provide fast vm-aware arena allocation. xo-alloc2 is intended to provide fast vm-aware arena allocation.
Next-generation version of xo-alloc. Next-generation version of xo-alloc.
At present (Dec 2025) xo-alloc is fully functional,
while xo-alloc2 is aspirational.
Features: Features:
* allocates uncommitted virtual memory, and commits on demand. * allocates uncommitted virtual memory, and commits on demand.
* ses THP (Transparent Huge Pages) when available. * uses THP (Transparent Huge Pages) when available.
Implemented using FOMO (faceted rust-like object model) from xo-facet Implemented using FOMO (faceted rust-like object model) from xo-facet

View file

@ -5,9 +5,9 @@
#pragma once #pragma once
#include "gcobject/AGCObject.hpp" #include "AGCObject.hpp"
#include "gcobject/IGCObject_Any.hpp" #include "detail/IGCObject_Any.hpp"
#include "gcobject/IGCObject_Xfer.hpp" #include "detail/IGCObject_Xfer.hpp"
#include "gcobject/RGCObject.hpp" #include "detail/RGCObject.hpp"
/* end GCObject.hpp */ /* end GCObject.hpp */

View file

@ -5,7 +5,7 @@
#pragma once #pragma once
#include "gcobject/IGCObject_Any.hpp" #include "IGCObject_Any.hpp"
#include <xo/facet/facet_implementation.hpp> #include <xo/facet/facet_implementation.hpp>
#include <xo/facet/typeseq.hpp> #include <xo/facet/typeseq.hpp>
@ -34,9 +34,12 @@ namespace xo {
virtual int32_t _typeseq() const noexcept = 0; virtual int32_t _typeseq() const noexcept = 0;
virtual size_type allocated(Copaque d, generation g, role r) const noexcept = 0; virtual size_type allocated(Copaque d,
virtual size_type reserved(Copaque d, generation g, role r) const noexcept = 0; generation g, role r) const noexcept = 0;
virtual size_type committed(Copaque d, generation g, role r) const noexcept = 0; virtual size_type reserved(Copaque d,
generation g, role r) const noexcept = 0;
virtual size_type committed(Copaque d,
generation g, role r) const noexcept = 0;
/** install interface @p iface for representation with typeseq @p tseq /** install interface @p iface for representation with typeseq @p tseq
* in collector @p d. * in collector @p d.

View file

@ -3,7 +3,7 @@
* @author Roland Conybeare, Dec 2025 * @author Roland Conybeare, Dec 2025
**/ **/
#include "gcobject/IGCObject_Any.hpp" #include "detail/IGCObject_Any.hpp"
#include <iostream> #include <iostream>
namespace xo { namespace xo {

View file

@ -6,8 +6,8 @@
#pragma once #pragma once
#include <xo/alloc2/alloc/AAllocator.hpp> #include <xo/alloc2/alloc/AAllocator.hpp>
#include <xo/gc/gcobject/AGCObject.hpp> #include <xo/gc/AGCObject.hpp>
#include <xo/gc/gcobject/IGCObject_Xfer.hpp> #include <xo/gc/detail/IGCObject_Xfer.hpp>
#include "DFloat.hpp" #include "DFloat.hpp"
namespace xo { namespace xo {

View file

@ -6,8 +6,8 @@
#pragma once #pragma once
#include "xo/alloc2/alloc/AAllocator.hpp" #include "xo/alloc2/alloc/AAllocator.hpp"
#include <xo/gc/gcobject/AGCObject.hpp> #include <xo/gc/AGCObject.hpp>
#include <xo/gc/gcobject/IGCObject_Xfer.hpp> #include <xo/gc/detail/IGCObject_Xfer.hpp>
#include "DInteger.hpp" #include "DInteger.hpp"
namespace xo { namespace xo {

View file

@ -8,8 +8,8 @@
#include <xo/alloc2/alloc/AAllocator.hpp> #include <xo/alloc2/alloc/AAllocator.hpp>
#include <xo/alloc2/alloc/RAllocator.hpp> #include <xo/alloc2/alloc/RAllocator.hpp>
#include <xo/gc/Collector.hpp> #include <xo/gc/Collector.hpp>
#include <xo/gc/gcobject/AGCObject.hpp> #include <xo/gc/AGCObject.hpp>
#include <xo/gc/gcobject/IGCObject_Xfer.hpp> #include <xo/gc/detail/IGCObject_Xfer.hpp>
#include "DList.hpp" #include "DList.hpp"
namespace xo { namespace xo {

View file

@ -11,7 +11,7 @@ Library dependency tower for *xo-tokenizer*:
.. ditaa:: .. ditaa::
+-----------------+ +-----------------+
| xo_unit | | xo_tokenizer |
+-----------------+ +-----------------+
| xo_indentlog | | xo_indentlog |
+-----------------+ +-----------------+