xo-gc: doc: + comment on GCObjectVisitor entry points

This commit is contained in:
Roland Conybeare 2026-04-12 15:38:42 -04:00
commit c4983b2172
3 changed files with 11 additions and 5 deletions

View file

@ -43,6 +43,7 @@
doc: [
"allocation metadata for gc-aware data at address @p gco.",
"@p gco must be the result of a call to collector's alloc() function",
"note: load-bearing for xo-gc/MutationLogStore",
],
return_type: "AllocInfo",
args: [
@ -57,7 +58,8 @@
name: "generation_of",
doc: [
"generation to which pointer @p addr belongs, given role @p r;",
"sentinel if @p addr is not owned by collector",
"sentinel if @p addr is not owned by collector.",
"note: load-bearing for xo-gc/MutationLogStore",
],
return_type: "Generation",
args: [

View file

@ -60,10 +60,12 @@ public:
/** destroy instance @p d; calls c++ dtor only for actual runtime type; does not recover memory **/
virtual void _drop(Opaque d) const noexcept = 0;
/** allocation metadata for gc-aware data at address @p gco.
@p gco must be the result of a call to collector's alloc() function **/
@p gco must be the result of a call to collector's alloc() function
note: load-bearing for xo-gc/MutationLogStore **/
virtual AllocInfo alloc_info(Copaque data, void * addr) const = 0;
/** generation to which pointer @p addr belongs, given role @p r;
sentinel if @p addr is not owned by collector **/
sentinel if @p addr is not owned by collector.
note: load-bearing for xo-gc/MutationLogStore **/
virtual Generation generation_of(Copaque data, Role r, const void * addr) const noexcept = 0;
// nonconst methods

View file

@ -46,10 +46,12 @@ namespace xo {
///@{
// const methods
/** allocation metadata for gc-aware data at address @p gco.
@p gco must be the result of a call to collector's alloc() function **/
@p gco must be the result of a call to collector's alloc() function
note: load-bearing for xo-gc/MutationLogStore **/
static AllocInfo alloc_info(const DGCObjectStoreVisitor & self, void * addr);
/** generation to which pointer @p addr belongs, given role @p r;
sentinel if @p addr is not owned by collector **/
sentinel if @p addr is not owned by collector.
note: load-bearing for xo-gc/MutationLogStore **/
static Generation generation_of(const DGCObjectStoreVisitor & self, Role r, const void * addr) noexcept;
// non-const methods