vm: take a page from code_heap for safepoints

db4
Joe Groff 2011-10-17 13:24:06 -07:00
parent a8c481bee3
commit 4c8dec1e98
2 changed files with 6 additions and 2 deletions

View File

@ -9,12 +9,13 @@ code_heap::code_heap(cell size)
seg = new segment(align_page(size),true);
if(!seg) fatal_error("Out of memory in code_heap constructor",size);
cell start = seg->start + seh_area_size;
cell start = seg->start + getpagesize() + seh_area_size;
allocator = new free_list_allocator<code_block>(seg->end - start,start);
/* See os-windows-x86.64.cpp for seh_area usage */
seh_area = (char *)seg->start;
safepoint_page = (void *)seg->start;
seh_area = (char *)seg->start + getpagesize();
}
code_heap::~code_heap()

View File

@ -11,6 +11,9 @@ struct code_heap {
/* The actual memory area */
segment *seg;
/* Memory area reserved for safepoint guard page */
void *safepoint_page;
/* Memory area reserved for SEH. Only used on Windows */
char *seh_area;