}
void MC_init_memory_map_info(){
+
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
+ MC_SET_RAW_MEM;
unsigned int i = 0;
s_map_region_t reg;
memory_map_t maps = get_memory_map();
- while (i < maps->mapsize) {
+ while (i < maps->mapsize) {
reg = maps->regions[i];
if ((reg.prot & PROT_WRITE)){
if (maps->regions[i].pathname == NULL){
}
i++;
}
+
+ free_memory_map(maps);
+
+ MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
}
if(raw_mem_set)
MC_SET_RAW_MEM;
- else
- MC_UNSET_RAW_MEM;
}
}
void MC_init_liveness(){
+
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
mc_time = xbt_new0(double, simix_process_maxpid);
get_libsimgrid_plt_section();
get_binary_plt_section();
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+
}
void MC_modelcheck_liveness(){
if(raw_mem_set)
MC_SET_RAW_MEM;
- else
- MC_UNSET_RAW_MEM;
}
if(raw_mem_set)
MC_SET_RAW_MEM;
- else
- MC_UNSET_RAW_MEM;
}
if(raw_mem_set)
MC_SET_RAW_MEM;
- else
- MC_UNSET_RAW_MEM;
}
void MC_ignore(void *address, size_t size){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
MC_SET_RAW_MEM;
if(mc_comparison_ignore == NULL)
xbt_dynar_insert_at(mc_comparison_ignore, cursor, ®ion);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
}
void MC_new_stack_area(void *stack, char *name, void* context){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
MC_SET_RAW_MEM;
if(stacks_areas == NULL)
xbt_dynar_push(stacks_areas, ®ion);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
}
/************ DWARF ***********/