mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +02:00
19 lines
805 B
C
19 lines
805 B
C
#ifndef GC_ALLOCATION_KIND_H
|
|
#define GC_ALLOCATION_KIND_H
|
|
|
|
enum gc_allocation_kind {
|
|
// An object whose type can be inspected at run-time based on its contents,
|
|
// and whose fields be traced via the gc_trace_object procedure.
|
|
GC_ALLOCATION_TAGGED,
|
|
// Like GC_ALLOCATION_TAGGED, but not containing any fields that reference
|
|
// GC-managed objects. The GC may choose to handle these specially.
|
|
GC_ALLOCATION_TAGGED_POINTERLESS,
|
|
// A raw allocation whose type cannot be inspected at trace-time, and whose
|
|
// fields should be traced conservatively.
|
|
GC_ALLOCATION_UNTAGGED_CONSERVATIVE,
|
|
// A raw allocation whose type cannot be inspected at trace-time, but
|
|
// containing no fields that reference GC-managed objects.
|
|
GC_ALLOCATION_UNTAGGED_POINTERLESS
|
|
};
|
|
|
|
#endif // GC_ALLOCATION_KIND_H
|