static void load_data_heap(FILE *file, image_header *h, vm_parameters *p) { cell good_size = h->data_size + (1 << 20); if(good_size > p->tenured_size) p->tenured_size = good_size; init_data_heap(p->gen_count, p->young_size, p->aging_size, p->tenured_size, p->secure_gc); clear_gc_stats(); zone *tenured = &data->generations[data->tenured()]; fixnum bytes_read = fread((void*)tenured->start,1,h->data_size,file); if((cell)bytes_read != h->data_size) { print_string("truncated image: "); print_fixnum(bytes_read); print_string(" bytes read, "); print_cell(h->data_size); print_string(" bytes expected\n"); fatal_error("load_data_heap failed",0); } tenured->here = tenured->start + h->data_size; data_relocation_base = h->data_relocation_base; }
INLINE void load_data_heap(FILE *file, F_HEADER *h, F_PARAMETERS *p) { CELL good_size = h->data_size + (1 << 20); if(good_size > p->tenured_size) p->tenured_size = good_size; init_data_heap(p->gen_count, p->young_size, p->aging_size, p->tenured_size, p->secure_gc); F_ZONE *tenured = &data_heap->generations[TENURED]; long int bytes_read = fread((void*)tenured->start,1,h->data_size,file); if(bytes_read != h->data_size) { fprintf(stderr,"truncated image: %ld bytes read, %ld bytes expected\n", bytes_read,h->data_size); fatal_error("load_data_heap failed",0); } tenured->here = tenured->start + h->data_size; data_relocation_base = h->data_relocation_base; }
void factor_vm::load_data_heap(FILE *file, image_header *h, vm_parameters *p) { cell good_size = h->data_size + (1 << 20); if(good_size > p->tenured_size) p->tenured_size = good_size; init_data_heap(p->young_size, p->aging_size, p->tenured_size, p->secure_gc); clear_gc_stats(); fixnum bytes_read = fread((void*)data->tenured->start,1,h->data_size,file); if((cell)bytes_read != h->data_size) { print_string("truncated image: "); print_fixnum(bytes_read); print_string(" bytes read, "); print_cell(h->data_size); print_string(" bytes expected\n"); fatal_error("load_data_heap failed",0); } data->tenured->here = data->tenured->start + h->data_size; }
void factor_vm::load_data_heap(FILE* file, image_header* h, vm_parameters* p) { p->tenured_size = std::max((h->data_size * 3) / 2, p->tenured_size); init_data_heap(p->young_size, p->aging_size, p->tenured_size); fixnum bytes_read = raw_fread((void*)data->tenured->start, 1, h->data_size, file); if ((cell)bytes_read != h->data_size) { std::cout << "truncated image: " << bytes_read << " bytes read, "; std::cout << h->data_size << " bytes expected\n"; fatal_error("load_data_heap failed", 0); } data->tenured->initial_free_list(h->data_size); }
INLINE void load_data_heap(FILE *file, F_HEADER *h, F_PARAMETERS *p) { CELL good_size = h->data_size + (1 << 20); if(good_size > p->tenured_size) p->tenured_size = good_size; init_data_heap(p->gen_count, p->young_size, p->aging_size, p->tenured_size, p->secure_gc); F_ZONE *tenured = &data_heap->generations[TENURED]; if(fread((void*)tenured->start,h->data_size,1,file) != 1) fatal_error("load_data_heap failed",0); tenured->here = tenured->start + h->data_size; data_relocation_base = h->data_relocation_base; }