Lines Matching defs:Span
33 // A Span is a contiguous run of pages.
43 // Information kept for a span (a contiguous run of pages).
44 struct Span {
46 Length length; // Number of pages in span
47 Span* next; // Used when in link list
48 Span* prev; // Used when in link list
52 unsigned int location : 2; // Is the span on a freelist, and if so, which?
57 // For debugging, we can keep a log events per span
63 // What freelist the span is on: IN_USE if on none, or normal or returned
68 void Event(Span* span, char op, int v = 0);
74 Span* NewSpan(PageID p, Length len);
75 void DeleteSpan(Span* span);
82 void DLL_Init(Span* list);
84 // Remove 'span' from the linked list in which it resides, updating the
85 // pointers of adjacent Spans and setting span's next and prev to NULL.
86 void DLL_Remove(Span* span);
89 inline bool DLL_IsEmpty(const Span* list) {
93 // Add span to the front of list.
94 void DLL_Prepend(Span* list, Span* span);
97 int DLL_Length(const Span* list);