1ec7ed79e50b29576adb9696b005472218bf994d
[sbcl.git] / src / runtime / gencgc-alloc-region.h
1 #ifndef _GENCGC_ALLOC_REGION_H_
2 #define _GENCGC_ALLOC_REGION_H_
3
4 #include "gc.h"
5
6 /* Abstract out the data for an allocation region allowing a single
7  * routine to be used for allocation and closing. */
8 struct alloc_region {
9
10     /* These two are needed for quick allocation. */
11     void  *free_pointer;
12     void  *end_addr; /* pointer to the byte after the last usable byte */
13
14     /* These are needed when closing the region. */
15     page_index_t  first_page;
16     page_index_t  last_page;
17     void  *start_addr;
18 };
19
20 extern struct alloc_region  boxed_region;
21 extern struct alloc_region  unboxed_region;
22 extern generation_index_t from_space, new_space;
23 extern struct weak_pointer *weak_pointers;
24
25 #endif /*  _GENCGC_ALLOC_REGION_H_ */