Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make s_mc_snapshot_stack::context not a pointer
[simgrid.git] / src / mc / mc_compare.cpp
index 6bf43b3..39aaf87 100644 (file)
@@ -338,21 +338,16 @@ static int compare_local_variables(int process_index,
 {
   struct mc_compare_state state;
 
-  if (xbt_dynar_length(stack1->local_variables) !=
-      xbt_dynar_length(stack2->local_variables)) {
+  if (stack1->local_variables.size() != stack2->local_variables.size()) {
     XBT_VERB("Different number of local variables");
     return 1;
   } else {
     unsigned int cursor = 0;
     local_variable_t current_var1, current_var2;
     int res;
-    while (cursor < xbt_dynar_length(stack1->local_variables)) {
-      current_var1 =
-          (local_variable_t) xbt_dynar_get_as(stack1->local_variables, cursor,
-                                              local_variable_t);
-      current_var2 =
-          (local_variable_t) xbt_dynar_get_as(stack2->local_variables, cursor,
-                                              local_variable_t);
+    while (cursor < stack1->local_variables.size()) {
+      current_var1 = &stack1->local_variables[cursor];
+      current_var2 = &stack1->local_variables[cursor];
       if (current_var1->name != current_var2->name
           || current_var1->subprogram != current_var1->subprogram
           || current_var1->ip != current_var2->ip) {
@@ -451,7 +446,7 @@ int snapshot_compare(void *state1, void *state2)
   int is_diff = 0;
 
   /* Compare size of stacks */
-  while (i < xbt_dynar_length(s1->stacks)) {
+  while (i < s1->stacks.size()) {
     size_used1 = s1->stack_sizes[i];
     size_used2 = s2->stack_sizes[i];
     if (size_used1 != size_used2) {
@@ -528,13 +523,9 @@ int snapshot_compare(void *state1, void *state2)
   is_diff = 0;
 #endif
   mc_snapshot_stack_t stack1, stack2;
-  while (cursor < xbt_dynar_length(s1->stacks)) {
-    stack1 =
-        (mc_snapshot_stack_t) xbt_dynar_get_as(s1->stacks, cursor,
-                                               mc_snapshot_stack_t);
-    stack2 =
-        (mc_snapshot_stack_t) xbt_dynar_get_as(s2->stacks, cursor,
-                                               mc_snapshot_stack_t);
+  while (cursor < s1->stacks.size()) {
+    stack1 = &s1->stacks[cursor];
+    stack2 = &s1->stacks[cursor];
 
     if (stack1->process_index != stack2->process_index) {
       diff_local = 1;