src/map.c
void rebuild_offpath_map() {
  DEBUGU(map_data->proc_id, "Rebuilding map\n");

  ASSERT(map_data->proc_id, map_data->proc_id == td->proc_id);

  /* First find the oldest offpath op */
  Op** op_p = (Op**)list_start_head_traversal(&td->seq_op_list);
  while(op_p && !(*op_p)->off_path) {
    op_p = (Op**)list_next_element(&td->seq_op_list);
  }

  /* rebuild the map starting with the first offpath op */
  for(; op_p; op_p = (Op**)list_next_element(&td->seq_op_list)) {
    update_map(*op_p);
    if((*op_p)->table_info->mem_type == MEM_ST) {
      update_store_hash(*op_p);
    }
  }
}
/**************************************************************************************/
/* rebuild_offpath_map: rebuild the offpath half of map structures
   using the sequential op list from a Thread. Make sure you recover
   the seq_op_list first */
rebuild the offpath half of map structures
using the sequential op list from a Thread. Make sure you recover
the seq_op_list first
rebuild the offpath half of map structures using the sequential op list from a Thread . Make sure you recover the seq_op_list first
void rebuild_offpath_map() {
  DEBUGU(map_data->proc_id, "Rebuilding map\n");
  ASSERT(map_data->proc_id, map_data->proc_id == td->proc_id);
  Op** op_p = (Op**)list_start_head_traversal(&td->seq_op_list);
  while(op_p && !(*op_p)->off_path) {
    op_p = (Op**)list_next_element(&td->seq_op_list);
  }
  for(; op_p; op_p = (Op**)list_next_element(&td->seq_op_list)) {
    update_map(*op_p);
    if((*op_p)->table_info->mem_type == MEM_ST) {
      update_store_hash(*op_p);
    }
  }
}
void rebuild_offpath_map ( ) { DEBUGU ( map_data -> proc_id , " \n " ) ; ASSERT ( map_data -> proc_id , map_data -> proc_id == td -> proc_id ) ; Op * * op_p = ( Op * * ) list_start_head_traversal ( & td -> seq_op_list ) ; while ( op_p && ! ( * op_p ) -> off_path ) { op_p = ( Op * * ) list_next_element ( & td -> seq_op_list ) ; } for ( ; op_p ; op_p = ( Op * * ) list_next_element ( & td -> seq_op_list ) ) { update_map ( * op_p ) ; if ( ( * op_p ) -> table_info -> mem_type == MEM_ST ) { update_store_hash ( * op_p ) ; } } }
rebuild_offpath_map: rebuild the offpath half of map structures
using the sequential op list from a Thread.
rebuild_offpath_map : rebuild the offpath half of map structures using the sequential op list from a Thread .
/* First find the oldest offpath op */ /* rebuild the map starting with the first offpath op */