Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : add size of stack in parameter of the function MC_new_stack_area
authorMarion Guthmuller <marion.guthmuller@loria.fr>
Fri, 9 Nov 2012 17:37:21 +0000 (18:37 +0100)
committerMarion Guthmuller <marion.guthmuller@loria.fr>
Fri, 9 Nov 2012 17:37:21 +0000 (18:37 +0100)
src/include/mc/mc.h
src/mc/mc_global.c
src/simix/smx_context_sysv.c

index 95b4aa7..0eb4b69 100644 (file)
@@ -45,7 +45,7 @@ void MC_automaton_load(const char *file);
 /****************************** MC ignore **********************************/
 XBT_PUBLIC(void) MC_ignore_heap(void *address, size_t size);
 XBT_PUBLIC(void) MC_ignore_stack(const char *var_name, const char *frame);
-void MC_new_stack_area(void *stack, char *name, void *context);
+void MC_new_stack_area(void *stack, char *name, void *context, size_t size);
 
 /********************************* Memory *************************************/
 XBT_PUBLIC(void) MC_memory_init(void);  /* Initialize the memory subsystem */
index 05d7108..14bc085 100644 (file)
@@ -793,7 +793,7 @@ void MC_ignore_stack(const char *var_name, const char *frame){
 
 }
 
-void MC_new_stack_area(void *stack, char *name, void* context){
+void MC_new_stack_area(void *stack, char *name, void* context, size_t size){
 
   raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
 
@@ -806,6 +806,7 @@ void MC_new_stack_area(void *stack, char *name, void* context){
   region->address = stack;
   region->process_name = strdup(name);
   region->context = context;
+  region->size = size;
   xbt_dynar_push(stacks_areas, &region);
   
   MC_UNSET_RAW_MEM;
index 63a0b66..9764af2 100644 (file)
@@ -169,7 +169,7 @@ smx_ctx_sysv_create_context_sized(size_t size, xbt_main_func_t code,
   }
 
   if(MC_is_active() && code)
-    MC_new_stack_area(context, ((smx_process_t)((smx_context_t)context)->data)->name, &(context->uc));
+    MC_new_stack_area(context, ((smx_process_t)((smx_context_t)context)->data)->name, &(context->uc), size);
 
   return (smx_context_t) context;
 }