memory_map_t maps = get_memory_map();
int nb_reg = 0;
void *heap = NULL;
+ size_t size = 0;
+ void *start = NULL;
/* Save the std heap and the writable mapped pages of libsimgrid */
while (i < maps->mapsize) {
i++;
} else {
if (!memcmp(basename(maps->regions[i].pathname), "libsimgrid", 10)){
- MC_snapshot_add_region(snapshot, 1, reg.start_addr, (char*)reg.end_addr - (char*)reg.start_addr);
+ size = (char*)reg.end_addr - (char*)reg.start_addr;
+ start = reg.start_addr;
nb_reg++;
i++;
reg = maps->regions[i];
if(reg.pathname == NULL && (reg.prot & PROT_WRITE) && i < maps->mapsize){
- MC_snapshot_add_region(snapshot, 1, reg.start_addr, (char*)reg.end_addr - (char*)reg.start_addr);
+ size += (char*)reg.end_addr - (char*)reg.start_addr;
reg = maps->regions[i];
i++;
nb_reg++;
}
+ MC_snapshot_add_region(snapshot, 1, start, size);
} else {
if (!memcmp(basename(maps->regions[i].pathname), basename(xbt_binary_name), strlen(basename(xbt_binary_name)))){
MC_snapshot_add_region(snapshot, 2, reg.start_addr, (char*)reg.end_addr - (char*)reg.start_addr);
}
}
- if(_surf_mc_visited > 0 || strcmp(_surf_mc_property_file,""))
+ if(_sg_mc_visited > 0 || strcmp(_sg_mc_property_file,""))
snapshot->stacks = take_snapshot_stacks(heap);
free_memory_map(maps);