/****************************** 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 */
}
-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);
region->address = stack;
region->process_name = strdup(name);
region->context = context;
+ region->size = size;
xbt_dynar_push(stacks_areas, ®ion);
MC_UNSET_RAW_MEM;
}
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;
}