int reached(xbt_state_t st){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
if(xbt_dynar_is_empty(reached_pairs)){
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 1;
}
/* }
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 0;
}
void set_pair_reached(xbt_state_t st){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
MC_SET_RAW_MEM;
xbt_dynar_push(reached_pairs, &pair);
MC_UNSET_RAW_MEM;
-
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
}
int reached_hash(xbt_state_t st){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
if(xbt_dynar_is_empty(reached_pairs_hash)){
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 1;
}else{
XBT_INFO("Different snapshot");
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 0;
}
}
void set_pair_reached_hash(xbt_state_t st){
+
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
MC_SET_RAW_MEM;
MC_free_snapshot(sn);
MC_UNSET_RAW_MEM;
-
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
}
int visited(xbt_state_t st, int sc){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
if(xbt_dynar_is_empty(visited_pairs)){
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 1;
}else{
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 0;
}
int visited_hash(xbt_state_t st, int sc){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
if(xbt_dynar_is_empty(visited_pairs_hash)){
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 1;
}else{
//XBT_INFO("Different snapshot");
xbt_dynar_reset(prop_ato);
xbt_free(prop_ato);
MC_UNSET_RAW_MEM;
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
return 0;
}
}
void set_pair_visited_hash(xbt_state_t st, int sc){
+
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
MC_SET_RAW_MEM;
MC_UNSET_RAW_MEM;
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
}
void set_pair_visited(xbt_state_t st, int sc){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
MC_SET_RAW_MEM;
MC_UNSET_RAW_MEM;
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
}
void MC_ddfs_init(void){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
XBT_INFO("**************************************************");
XBT_INFO("Double-DFS init");
XBT_INFO("**************************************************");
}
}
- }
+ }
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
+
}
void MC_ddfs(int search_cycle){
+ raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
+
smx_process_t process;
mc_pair_stateless_t current_pair = NULL;
//xbt_dynar_pop(reached_pairs_hash, NULL);
}
MC_UNSET_RAW_MEM;
-
-
+
+ if(raw_mem_set)
+ MC_SET_RAW_MEM;
+ else
+ MC_UNSET_RAW_MEM;
}