Skip to content

Write barrier can tear if used for SATB concurrent tracing #12

@wingo

Description

@wingo

The prototype of the write barrier interface is:

static inline void gc_write_barrier(struct gc_mutator *mut, struct gc_ref obj,
                                    size_t obj_size, struct gc_edge edge,
                                    struct gc_ref new_val) GC_ALWAYS_INLINE;

For a SATB barrier, we would shade the previous value black. However if we have multiple writers to the same field, we might miss a previous value. Maybe it is OK, we don't have this kind of write barrier yet, but it's something to think about.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions