Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : stack_areas stored in raw_heap instead of std_heap
[simgrid.git] / src / mc / mc_global.c
index 6a4b83b..8bb0aa6 100644 (file)
@@ -23,6 +23,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
 /* Configuration support */
 e_mc_reduce_t mc_reduce_kind=e_mc_reduce_unset;
 
+
 extern int _surf_init_status;
 void _mc_cfg_cb_reduce(const char *name, int pos) {
   if (_surf_init_status && !_surf_do_model_check) {
@@ -549,7 +550,7 @@ void MC_dump_stack_liveness(xbt_fifo_t stack){
 
   MC_SET_RAW_MEM;
   while ((pair = (mc_pair_stateless_t) xbt_fifo_pop(stack)) != NULL)
-    MC_pair_stateless_delete(pair);
+    pair_stateless_free(pair);
   MC_UNSET_RAW_MEM;
 
   if(raw_mem_set)
@@ -585,7 +586,7 @@ void MC_print_statistics_pairs(mc_stats_pair_t stats)
 
 void MC_assert(int prop)
 {
-  if (MC_IS_ENABLED && !prop){
+  if (MC_is_active() && !prop){
     XBT_INFO("**************************");
     XBT_INFO("*** PROPERTY NOT VALID ***");
     XBT_INFO("**************************");
@@ -597,7 +598,7 @@ void MC_assert(int prop)
 }
 
 static void MC_assert_pair(int prop){
-  if (MC_IS_ENABLED && !prop) {
+  if (MC_is_active() && !prop) {
     XBT_INFO("**************************");
     XBT_INFO("*** PROPERTY NOT VALID ***");
     XBT_INFO("**************************");
@@ -700,17 +701,20 @@ void MC_ignore(void *address, size_t size){
   MC_UNSET_RAW_MEM;
 }
 
-void MC_new_stack_area(void *stack, char *name){
+void MC_new_stack_area(void *stack, char *name, void* context){
+
+  MC_SET_RAW_MEM;
 
   if(stacks_areas == NULL)
     stacks_areas = xbt_dynar_new(sizeof(stack_region_t), NULL);
-
-  MC_SET_RAW_MEM;
+  
   stack_region_t region = NULL;
   region = xbt_new0(s_stack_region_t, 1);
   region->address = stack;
   region->process_name = strdup(name);
+  region->context = context;
   xbt_dynar_push(stacks_areas, &region);
+  
   MC_UNSET_RAW_MEM;
 }