#ifndef _GENCGC_ALLOC_REGION_H_
#define _GENCGC_ALLOC_REGION_H_
#include "gc.h"
#ifndef LISP_FEATURE_GENCGC
#error "gencgc-alloc-region.h included, but LISP_FEATURE_GENCGC not defined"
#endif
* routine to be used for allocation and closing. */
* (for the THREAD object), all the backends' allocators, and room.lisp */
struct alloc_region {
void *free_pointer;
void *end_addr;
* whenever the region is in an open state. The value is preserved on
* closing so that allocation can potentially resume where it left off,
* though that's not quite how things are implemented at present.
*/
page_index_t last_page;
void *start_addr;
};
extern struct alloc_region gc_alloc_region[3];
#define boxed_region gc_alloc_region[BOXED_PAGE_FLAG-1]
#define unboxed_region gc_alloc_region[UNBOXED_PAGE_FLAG-1]
#define code_region gc_alloc_region[CODE_PAGE_TYPE-1]
extern generation_index_t from_space, new_space;
extern int gencgc_alloc_profiler;
#endif