- struct s_mm_diff *state = mm_diff_info;
-
- size_t i = 0, j;
-
- for(i=0; i<=state->heaplimit; i++){
- for(j=0; j<MAX_FRAGMENT_PER_BLOCK;j++){
- heap_area_free(state->equals_to1[i][j]);
- state->equals_to1[i][j] = NULL;
- heap_area_free(state->equals_to2[i][j]);
- state-> equals_to2[i][j] = NULL;
- xbt_free(state->types1[i][j]);
- state->types1[i][j] = NULL;
- xbt_free(state->types2[i][j]);
- state->types2[i][j] = NULL;
- }
- free(state->equals_to1[i]);
- free(state->equals_to2[i]);
- free(state->types1[i]);
- free(state->types2[i]);
- }
-
- free(state->equals_to1);
- free(state->equals_to2);
- free(state->types1);
- free(state->types2);
-
- state->s_heap = NULL, state->heapbase1 = NULL, state->heapbase2 = NULL;
- state->heapinfo1 = NULL, state->heapinfo2 = NULL;
- state->heaplimit = 0, state->heapsize1 = 0, state->heapsize2 = 0;
- state->to_ignore1 = NULL, state->to_ignore2 = NULL;
- state->equals_to1 = NULL, state->equals_to2 = NULL;
- state->types1 = NULL, state->types2 = NULL;
-