xo-gc: refactor for MutationLogStore bugs [TESTFAIL]

This commit is contained in:
Roland Conybeare 2026-04-24 21:24:02 -04:00
commit f79c8a9c73
5 changed files with 154 additions and 19 deletions

View file

@ -9,6 +9,7 @@
namespace xo {
namespace mm {
class GCObjectStore; // see xo-gc/ GCObjectStore.hpp
/** @brief Track a cross-generational pointer
*
@ -40,6 +41,15 @@ namespace xo {
/** true iff child pointer has been altered since this mlog entry created **/
bool is_superseded() const noexcept { return *p_data_ != snap_.data(); }
/** Refresh snapshot when *p_data_ does not match snap_.data_
* Get updated facet information from destination alloc header.
* It's possible that *p_data_ no longer points to gc-owned space
*
* @return true if snapshot updated. false if this entry should be discarded
**/
bool refresh_snapshot(Generation parent_gen,
GCObjectStore * gcos) noexcept;
private:
/** address of object containing logged mutation **/
void * parent_ = nullptr;