-static int is_new_heap_area_pair(xbt_dynar_t list, int block1, int fragment1,
- int block2, int fragment2)
-{
-
- unsigned int cursor = 0;
- simgrid::mc::HeapLocationPair* current_pair;
- xbt_dynar_foreach(list, cursor, current_pair)
- if ((*current_pair)[0].block == block1
- && (*current_pair)[1].block == block2
- && (*current_pair)[0].fragment == fragment1
- && (*current_pair)[1].fragment == fragment2)
- return 0;
- return 1;
-}
-
-static int add_heap_area_pair(xbt_dynar_t list, int block1, int fragment1,
- int block2, int fragment2)
-{
- if (!is_new_heap_area_pair(list, block1, fragment1, block2, fragment2))
- return 0;
- simgrid::mc::HeapLocationPair* pair = xbt_new0(simgrid::mc::HeapLocationPair, 1);
- (*pair)[0].block = block1;
- (*pair)[0].fragment = fragment1;
- (*pair)[1].block = block2;
- (*pair)[1].fragment = fragment2;
- xbt_dynar_push(list, &pair);
- return 1;
-}
-