blob: 72de3b6be54326b80f0d433ad03299306f03fadd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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
|