diff options
Diffstat (limited to 'libguile/whippet/api/gc-forwarding.h')
-rw-r--r-- | libguile/whippet/api/gc-forwarding.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libguile/whippet/api/gc-forwarding.h b/libguile/whippet/api/gc-forwarding.h new file mode 100644 index 000000000..25aca3011 --- /dev/null +++ b/libguile/whippet/api/gc-forwarding.h @@ -0,0 +1,20 @@ +#ifndef GC_FORWARDING_H +#define GC_FORWARDING_H + +#include <stdint.h> +#include "gc-ref.h" + +enum gc_forwarding_state { + GC_FORWARDING_STATE_FORWARDED, + GC_FORWARDING_STATE_BUSY, + GC_FORWARDING_STATE_ACQUIRED, + GC_FORWARDING_STATE_NOT_FORWARDED +}; + +struct gc_atomic_forward { + struct gc_ref ref; + uintptr_t data; + enum gc_forwarding_state state; +}; + +#endif // GC_FORWARDING_H |