Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge with master
authorJonathan Rouzaud-Cornabas <jonathan.rouzaud-cornabas@ens-lyon.fr>
Wed, 16 Jan 2013 17:00:42 +0000 (18:00 +0100)
committerJonathan Rouzaud-Cornabas <jonathan.rouzaud-cornabas@ens-lyon.fr>
Wed, 16 Jan 2013 17:00:42 +0000 (18:00 +0100)
12 files changed:
1  2 
buildtools/Cmake/CompleteInFiles.cmake
buildtools/Cmake/DefinePackages.cmake
include/msg/msg.h
include/surf/simgrid_dtd.h
include/xbt/graphxml.h
src/instr/instr_config.c
src/instr/instr_paje_containers.c
src/instr/instr_private.h
src/msg/msg_private.h
src/surf/instr_routing.c
src/surf/simgrid_dtd.c
src/xbt/heap.c

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -50,22 -49,31 +51,24 @@@ static int trace_basic
  static int trace_configured = 0;
  static int trace_active = 0;
  
  static void TRACE_getopts(void)
  {
 -  trace_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING);
 -  trace_platform = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_PLATFORM);
 -  trace_platform_topology = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_TOPOLOGY);
 -  trace_smpi_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI);
 -  trace_smpi_grouped = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI_GROUP);
 -  trace_smpi_computing = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING);
 -  trace_categorized = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_CATEGORIZED);
 -  trace_uncategorized = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_UNCATEGORIZED);
 -  trace_msg_process_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_MSG_PROCESS);
 -  trace_buffer = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_BUFFER);
 -  trace_onelink_only = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY);
 -  trace_disable_destroy = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY);
 -  trace_basic = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_BASIC);
 -}
 -
 -xbt_dynar_t TRACE_start_functions = NULL;
 -void TRACE_add_start_function(void (*func) ())
 -{
 -  if (TRACE_start_functions == NULL)
 -    TRACE_start_functions = xbt_dynar_new(sizeof(void (*)()), NULL);
 -  xbt_dynar_push(TRACE_start_functions, &func);
 +  trace_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING);
 +  trace_platform = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_PLATFORM);
 +  trace_platform_topology = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_TOPOLOGY);
 +  trace_smpi_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI);
 +  trace_smpi_grouped = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI_GROUP);
 +  trace_smpi_computing = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI_COMPUTING);
 +  trace_categorized = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_CATEGORIZED);
 +  trace_uncategorized = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_UNCATEGORIZED);
 +  trace_msg_process_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_PROCESS);
 +  trace_msg_vm_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_VM);
 +  trace_buffer = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_BUFFER);
 +  trace_onelink_only = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_ONELINK_ONLY);
 +  trace_disable_destroy = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_DISABLE_DESTROY);
 +  trace_basic = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_BASIC);
  }
  
  int TRACE_start()
    // tracing system must be:
    //    - enabled (with --cfg=tracing:1)
    //    - already configured (TRACE_global_init already called)
-   if (!(TRACE_is_enabled() && TRACE_is_configured())){
-     return 0;
-   }
-   XBT_DEBUG("Tracing starts");
-   /* open the trace file */
-   TRACE_paje_start();
-   /* activate trace */
-   if (trace_active == 1){
-     THROWF (tracing_error, 0, "Tracing is already active");
+   if (TRACE_is_enabled() && TRACE_is_configured()) {
+     XBT_DEBUG("Tracing starts");
+     /* open the trace file */
+     TRACE_paje_start();
+     /* activate trace */
+     if (trace_active == 1) {
+       THROWF(tracing_error, 0, "Tracing is already active");
+     }
+     trace_active = 1;
+     XBT_DEBUG("Tracing is on");
+     /* other trace initialization */
+     created_categories = xbt_dict_new_homogeneous(xbt_free);
+     declared_marks = xbt_dict_new_homogeneous(xbt_free);
+     user_host_variables = xbt_dict_new_homogeneous(xbt_free);
+     user_link_variables = xbt_dict_new_homogeneous(xbt_free);
+     if (TRACE_start_functions != NULL) {
+       void (*func) ();
+       unsigned int iter = xbt_dynar_length(TRACE_start_functions);
+       xbt_dynar_foreach(TRACE_start_functions, iter, func) {
+         func();
+       }
+     }
    }
 -  xbt_dynar_free(&TRACE_start_functions);
 +  trace_active = 1;
 +  XBT_DEBUG ("Tracing is on");
 +
 +  /* other trace initialization */
 +  created_categories = xbt_dict_new_homogeneous(xbt_free);
 +  declared_marks = xbt_dict_new_homogeneous (xbt_free);
 +  user_host_variables = xbt_dict_new_homogeneous (xbt_free);
 +  user_vm_variables = xbt_dict_new_homogeneous (xbt_free);
 +  user_link_variables = xbt_dict_new_homogeneous (xbt_free);
 +  TRACE_surf_alloc();
 +  TRACE_smpi_alloc();
    return 0;
  }
  
+ xbt_dynar_t TRACE_end_functions = NULL;
+ void TRACE_add_end_function(void (*func) (void))
+ {
+   if (TRACE_end_functions == NULL)
+     TRACE_end_functions = xbt_dynar_new(sizeof(void (*)(void)), NULL);
+   xbt_dynar_push(TRACE_end_functions, &func);
+ }
  int TRACE_end()
  {
 -  int retval;
 -  if (!trace_active) {
 -    retval = 1;
 -  } else {
 -    retval = 0;
 -
 -    TRACE_generate_viva_uncat_conf();
 -    TRACE_generate_viva_cat_conf();
 -
 -    /* dump trace buffer */
 -    TRACE_last_timestamp_to_dump = surf_get_clock();
 -    TRACE_paje_dump_buffer(1);
 -
 -    /* destroy all data structures of tracing (and free) */
 -    PJ_container_free_all();
 -    PJ_type_free_all();
 -    PJ_container_release();
 -    PJ_type_release();
 -
 -    if (TRACE_end_functions != NULL) {
 -      void (*func) (void);
 -      unsigned int iter;
 -      xbt_dynar_foreach(TRACE_end_functions, iter, func) {
 -        func();
 -      }
 -    }
 -
 -    xbt_dict_free(&user_link_variables);
 -    xbt_dict_free(&user_host_variables);
 -    xbt_dict_free(&declared_marks);
 -    xbt_dict_free(&created_categories);
 -
 -    /* close the trace file */
 -    TRACE_paje_end();
 -
 -    /* de-activate trace */
 -    trace_active = 0;
 -    XBT_DEBUG("Tracing is off");
 -    XBT_DEBUG("Tracing system is shutdown");
 -  }
 -  xbt_dynar_free(&TRACE_end_functions);
 -  return retval;
 +  if (!trace_active)
 +    return 1;
 +
 +  TRACE_generate_viva_uncat_conf();
 +  TRACE_generate_viva_cat_conf();
 +
 +  /* dump trace buffer */
 +  TRACE_last_timestamp_to_dump = surf_get_clock();
 +  TRACE_paje_dump_buffer(1);
 +
 +  /* destroy all data structures of tracing (and free) */
 +  PJ_container_free_all();
 +  PJ_type_free_all();
 +  PJ_container_release();
 +  PJ_type_release();
 +  TRACE_smpi_release();
 +  TRACE_surf_release();
 +  xbt_dict_free(&user_link_variables);
 +  xbt_dict_free(&user_host_variables);
 +  xbt_dict_free(&user_vm_variables);
 +
 +  xbt_dict_free(&declared_marks);
 +  xbt_dict_free(&created_categories);
 +
 +  /* close the trace file */
 +  TRACE_paje_end();
 +
 +  /* de-activate trace */
 +  trace_active = 0;
 +  XBT_DEBUG ("Tracing is off");
 +  XBT_DEBUG("Tracing system is shutdown");
 +  return 0;
  }
  
  int TRACE_needs_platform (void)
@@@ -323,16 -346,9 +348,16 @@@ void TRACE_global_init(int *argc, char 
                     xbt_cfgelm_int, &default_tracing_msg_process, 0, 1,
                     NULL, NULL);
  
 +  /* msg process */
 +  int default_tracing_msg_vm = 0;
 +  xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_VM,
 +                   "Tracing of MSG process behavior.",
 +                   xbt_cfgelm_int, &default_tracing_msg_vm, 0, 1,
 +                   NULL, NULL);
 +
    /* tracing buffer */
    int default_buffer = 1;
-   xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_BUFFER,
+   xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_BUFFER,
                     "Buffer trace events to put them in temporal order.",
                     xbt_cfgelm_int, &default_buffer, 0, 1,
                     NULL, NULL);
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -4439,222 -4439,331 +4439,224 @@@ extern char *surfxml_bufferstack
  #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
  AT_surfxml_mount_name AX_surfxml_mount_name;
  #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
 -short int surfxml_mount_name_isset;
  AT_surfxml_random_generator AX_surfxml_random_generator;
  #define A_surfxml_random_generator AX_surfxml_random_generator
 -short int surfxml_random_generator_isset;
 -AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
 -#define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
 -short int surfxml_ASroute_gw___dst_isset;
 -AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
 -#define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
 -short int surfxml_trace___connect_element_isset;
 +AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
 +#define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
 +AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
 +#define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
  AT_surfxml_prop_id AX_surfxml_prop_id;
  #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
 -short int surfxml_prop_id_isset;
 -AT_surfxml_host___link_up AX_surfxml_host___link_up;
 -#define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
 -short int surfxml_host___link_up_isset;
 +AT_surfxml_host_link_up AX_surfxml_host_link_up;
 +#define A_surfxml_host_link_up (surfxml_bufferstack + AX_surfxml_host_link_up)
  AT_surfxml_host_id AX_surfxml_host_id;
  #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
 -short int surfxml_host_id_isset;
  AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
  #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
 -short int surfxml_ASroute_symmetrical_isset;
  AT_surfxml_peer_lat AX_surfxml_peer_lat;
  #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
 -short int surfxml_peer_lat_isset;
 -AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
 -#define A_surfxml_process_on___failure AX_surfxml_process_on___failure
 -short int surfxml_process_on___failure_isset;
 -AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
 -#define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
 -short int surfxml_link_latency___file_isset;
 -AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
 -#define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
 -short int surfxml_peer_availability___file_isset;
 -AT_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction;
 -#define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
 -short int surfxml_link___ctn_direction_isset;
 +AT_surfxml_process_on_failure AX_surfxml_process_on_failure;
 +#define A_surfxml_process_on_failure AX_surfxml_process_on_failure
 +AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
 +#define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
 +AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
 +#define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
 +AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
 +#define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
  AT_surfxml_host_state AX_surfxml_host_state;
  #define A_surfxml_host_state AX_surfxml_host_state
 -short int surfxml_host_state_isset;
  AT_surfxml_AS_id AX_surfxml_AS_id;
  #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
 -short int surfxml_AS_id_isset;
  AT_surfxml_host_power AX_surfxml_host_power;
  #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
 -short int surfxml_host_power_isset;
  AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
  #define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
 -short int surfxml_cabinet_suffix_isset;
  AT_surfxml_gpu_name AX_surfxml_gpu_name;
  #define A_surfxml_gpu_name (surfxml_bufferstack + AX_surfxml_gpu_name)
 -short int surfxml_gpu_name_isset;
  AT_surfxml_router_id AX_surfxml_router_id;
  #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
 -short int surfxml_router_id_isset;
 -AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
 -#define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
 -short int surfxml_storage___type_id_isset;
 -AT_surfxml_process_start___time AX_surfxml_process_start___time;
 -#define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
 -short int surfxml_process_start___time_isset;
 +AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
 +#define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
 +AT_surfxml_process_start_time AX_surfxml_process_start_time;
 +#define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
  AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
  #define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
 -short int surfxml_cabinet_bw_isset;
  AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
  #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
 -short int surfxml_cluster_suffix_isset;
  AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
  #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
 -short int surfxml_bypassASroute_dst_isset;
 +AT_surfxml_host_link_id AX_surfxml_host_link_id;
 +#define A_surfxml_host_link_id (surfxml_bufferstack + AX_surfxml_host_link_id)
+ AT_surfxml_host___link_id AX_surfxml_host___link_id;
+ #define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
 -short int surfxml_host___link_id_isset;
  AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
  #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
 -short int surfxml_ASroute_src_isset;
  AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
  #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
 -short int surfxml_cluster_prefix_isset;
  AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
  #define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
 -short int surfxml_cabinet_prefix_isset;
  AT_surfxml_trace_file AX_surfxml_trace_file;
  #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
 -short int surfxml_trace_file_isset;
 -AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
 -#define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
 -short int surfxml_link_sharing___policy_isset;
 +AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
 +#define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
  AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
  #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
 -short int surfxml_storage_typeId_isset;
  AT_surfxml_random_min AX_surfxml_random_min;
  #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
 -short int surfxml_random_min_isset;
 -AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
 -#define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
 -short int surfxml_link___ctn_id_isset;
 -AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
 -#define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
 -short int surfxml_peer_bw___out_isset;
 -AT_surfxml_cluster_availability___file AX_surfxml_cluster_availability___file;
 -#define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
 -short int surfxml_cluster_availability___file_isset;
 +AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
 +#define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
 +AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
 +#define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
 +AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
 +#define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
  AT_surfxml_storage_content AX_surfxml_storage_content;
  #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
 -short int surfxml_storage_content_isset;
 -AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
 -#define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
 -short int surfxml_process_kill___time_isset;
 -AT_surfxml_cluster_bb___bw AX_surfxml_cluster_bb___bw;
 -#define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
 -short int surfxml_cluster_bb___bw_isset;
 +AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
 +#define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
 +AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
 +#define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
  AT_surfxml_argument_value AX_surfxml_argument_value;
  #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
 -short int surfxml_argument_value_isset;
  AT_surfxml_link_state AX_surfxml_link_state;
  #define A_surfxml_link_state AX_surfxml_link_state
 -short int surfxml_link_state_isset;
 -AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
 -#define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
 -short int surfxml_ASroute_gw___src_isset;
 +AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
 +#define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
  AT_surfxml_AS_routing AX_surfxml_AS_routing;
  #define A_surfxml_AS_routing AX_surfxml_AS_routing
 -short int surfxml_AS_routing_isset;
  AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
  #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
 -short int surfxml_link_bandwidth_isset;
  AT_surfxml_cluster_id AX_surfxml_cluster_id;
  #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
 -short int surfxml_cluster_id_isset;
 -AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
 -#define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
 -short int surfxml_peer_bw___in_isset;
 +AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
 +#define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
  AT_surfxml_random_mean AX_surfxml_random_mean;
  #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
 -short int surfxml_random_mean_isset;
 -AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
 -#define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
 -short int surfxml_storage___type_size_isset;
 -AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
 -#define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
 -short int surfxml_cluster_bb___lat_isset;
 +AT_surfxml_storage_type_size AX_surfxml_storage_type_size;
 +#define A_surfxml_storage_type_size (surfxml_bufferstack + AX_surfxml_storage_type_size)
 +AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
 +#define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
  AT_surfxml_link_latency AX_surfxml_link_latency;
  #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
 -short int surfxml_link_latency_isset;
  AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
  #define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
 -short int surfxml_backbone_bandwidth_isset;
  AT_surfxml_backbone_id AX_surfxml_backbone_id;
  #define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
 -short int surfxml_backbone_id_isset;
 -AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
 -#define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
 -short int surfxml_trace___connect_kind_isset;
 +AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
 +#define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
  AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
  #define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
 -short int surfxml_cabinet_lat_isset;
  AT_surfxml_random_seed AX_surfxml_random_seed;
  #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
 -short int surfxml_random_seed_isset;
 -AT_surfxml_cluster_state___file AX_surfxml_cluster_state___file;
 -#define A_surfxml_cluster_state___file (surfxml_bufferstack + AX_surfxml_cluster_state___file)
 -short int surfxml_cluster_state___file_isset;
 -AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
 -#define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
 -short int surfxml_link_bandwidth___file_isset;
 -AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
 -#define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
 -short int surfxml_storage___type_content_isset;
 +AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
 +#define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
 +AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
 +#define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
 +AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
 +#define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
  AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
  #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
 -short int surfxml_route_symmetrical_isset;
  AT_surfxml_random_id AX_surfxml_random_id;
  #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
 -short int surfxml_random_id_isset;
  AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
  #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
 -short int surfxml_mstorage_name_isset;
  AT_surfxml_random_max AX_surfxml_random_max;
  #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
 -short int surfxml_random_max_isset;
  AT_surfxml_link_id AX_surfxml_link_id;
  #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
 -short int surfxml_link_id_isset;
  AT_surfxml_process_host AX_surfxml_process_host;
  #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
 -short int surfxml_process_host_isset;
  AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
  #define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
 -short int surfxml_cabinet_id_isset;
 -AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
 -#define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
 -short int surfxml_host_availability___file_isset;
 +AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
 +#define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
  AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
  #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
 -short int surfxml_cluster_lat_isset;
  AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
  #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
 -short int surfxml_router_coordinates_isset;
  AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
  #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
 -short int surfxml_trace_periodicity_isset;
 -AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
 -#define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
 -short int surfxml_cluster_bb___sharing___policy_isset;
 -AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
 -#define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
 -short int surfxml_peer_state___file_isset;
 +AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
 +#define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
 +AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
 +#define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
  AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
  #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
 -short int surfxml_peer_coordinates_isset;
  AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
  #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
 -short int surfxml_bypassASroute_src_isset;
  AT_surfxml_prop_value AX_surfxml_prop_value;
  #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
 -short int surfxml_prop_value_isset;
  AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
  #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
 -short int surfxml_mstorage_typeId_isset;
  AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
  #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
 -short int surfxml_ASroute_dst_isset;
 -AT_surfxml_link_state___file AX_surfxml_link_state___file;
 -#define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
 -short int surfxml_link_state___file_isset;
 +AT_surfxml_link_state_file AX_surfxml_link_state_file;
 +#define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
  AT_surfxml_random_radical AX_surfxml_random_radical;
  #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
 -short int surfxml_random_radical_isset;
 -AT_surfxml_bypassASroute_gw___src AX_surfxml_bypassASroute_gw___src;
 -#define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
 -short int surfxml_bypassASroute_gw___src_isset;
 -AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
 -#define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
 -short int surfxml_trace___connect_trace_isset;
 +AT_surfxml_bypassASroute_gw_src AX_surfxml_bypassASroute_gw_src;
 +#define A_surfxml_bypassASroute_gw_src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_src)
 +AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
 +#define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
  AT_surfxml_mount_id AX_surfxml_mount_id;
  #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
 -short int surfxml_mount_id_isset;
  AT_surfxml_cluster_power AX_surfxml_cluster_power;
  #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
 -short int surfxml_cluster_power_isset;
  AT_surfxml_process_function AX_surfxml_process_function;
  #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
 -short int surfxml_process_function_isset;
  AT_surfxml_peer_id AX_surfxml_peer_id;
  #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
 -short int surfxml_peer_id_isset;
 -AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
 -#define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
 -short int surfxml_cluster_router___id_isset;
 +AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
 +#define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
  AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
  #define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
 -short int surfxml_cabinet_radical_isset;
 -AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
 -#define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
 -short int surfxml_cluster_sharing___policy_isset;
 +AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
 +#define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
  AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
  #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
 -short int surfxml_bypassRoute_dst_isset;
  AT_surfxml_cabinet_power AX_surfxml_cabinet_power;
  #define A_surfxml_cabinet_power (surfxml_bufferstack + AX_surfxml_cabinet_power)
 -short int surfxml_cabinet_power_isset;
  AT_surfxml_host_core AX_surfxml_host_core;
  #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
 -short int surfxml_host_core_isset;
 -AT_surfxml_storage___type_model AX_surfxml_storage___type_model;
 -#define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
 -short int surfxml_storage___type_model_isset;
 +AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
 +#define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
  AT_surfxml_host_availability AX_surfxml_host_availability;
  #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
 -short int surfxml_host_availability_isset;
  AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
  #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
 -short int surfxml_bypassRoute_src_isset;
  AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
  #define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
 -short int surfxml_backbone_latency_isset;
  AT_surfxml_route_src AX_surfxml_route_src;
  #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
 -short int surfxml_route_src_isset;
  AT_surfxml_storage_id AX_surfxml_storage_id;
  #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
 -short int surfxml_storage_id_isset;
  AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
  #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
 -short int surfxml_host_coordinates_isset;
  AT_surfxml_trace_id AX_surfxml_trace_id;
  #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
 -short int surfxml_trace_id_isset;
  AT_surfxml_peer_power AX_surfxml_peer_power;
  #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
 -short int surfxml_peer_power_isset;
  AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
  #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
 -short int surfxml_cluster_radical_isset;
  AT_surfxml_config_id AX_surfxml_config_id;
  #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
 -short int surfxml_config_id_isset;
 -AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
 -#define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
 -short int surfxml_bypassASroute_gw___dst_isset;
 -AT_surfxml_host___link_down AX_surfxml_host___link_down;
 -#define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
 -short int surfxml_host___link_down_isset;
 +AT_surfxml_bypassASroute_gw_dst AX_surfxml_bypassASroute_gw_dst;
 +#define A_surfxml_bypassASroute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_dst)
 +AT_surfxml_host_link_down AX_surfxml_host_link_down;
 +#define A_surfxml_host_link_down (surfxml_bufferstack + AX_surfxml_host_link_down)
  AT_surfxml_include_file AX_surfxml_include_file;
  #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
 -short int surfxml_include_file_isset;
 -AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
 -#define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
 -short int surfxml_random_std___deviation_isset;
 +AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
 +#define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
  AT_surfxml_cluster_core AX_surfxml_cluster_core;
  #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
 -short int surfxml_cluster_core_isset;
 -AT_surfxml_host_state___file AX_surfxml_host_state___file;
 -#define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
 -short int surfxml_host_state___file_isset;
 +AT_surfxml_host_state_file AX_surfxml_host_state_file;
 +#define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
  AT_surfxml_route_dst AX_surfxml_route_dst;
  #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
 -short int surfxml_route_dst_isset;
  AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
  #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
 -short int surfxml_cluster_bw_isset;
  AT_surfxml_platform_version AX_surfxml_platform_version;
  #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
 -short int surfxml_platform_version_isset;
  
  /* XML state. */
  #ifdef FLEX_DEBUG
diff --cc src/xbt/heap.c
Simple merge