Skip to content
  • Emmanuele Bassi's avatar
    Add refcounted data · c5d2417d
    Emmanuele Bassi authored
    It is useful to provide a "reference counted allocation" API that can
    add reference counting semantics to any memory allocation. This allows
    turning data structures that usually are placed on the stack into memory
    that can be placed on the heap without:
    
     - adding a public reference count field
     - implementing copy/free semantics
    
    This mechanism is similar to Rust's Rc<Box<T>> combination of traits,
    and uses a Valgrind-friendly overallocation mechanism to store the
    reference count into a private data segment, like we do with GObject's
    private instance data.
    c5d2417d