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