From 378d07947ce02213e465faf2dbbe1dd19a28095d Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 8 Jun 2015 11:21:33 +0200 Subject: [PATCH 1/1] [mc] Make Snapshot::stack_sizes a std::vector --- src/mc/mc_checkpoint.cpp | 5 ++--- src/mc/mc_snapshot.cpp | 3 +-- src/mc/mc_snapshot.h | 3 ++- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/mc/mc_checkpoint.cpp b/src/mc/mc_checkpoint.cpp index 341e81be2b..1ef983407c 100644 --- a/src/mc/mc_checkpoint.cpp +++ b/src/mc/mc_checkpoint.cpp @@ -468,10 +468,9 @@ static xbt_dynar_t MC_take_snapshot_stacks(mc_snapshot_t * snapshot) unw_word_t sp = xbt_dynar_get_as(st->stack_frames, 0, mc_stack_frame_t)->sp; xbt_dynar_push(res, &st); - (*snapshot)->stack_sizes = (size_t*) - xbt_realloc((*snapshot)->stack_sizes, (cursor + 1) * sizeof(size_t)); - (*snapshot)->stack_sizes[cursor] = + size_t stack_size = (char*) current_stack->address + current_stack->size - (char*) sp; + (*snapshot)->stack_sizes.push_back(stack_size); } return res; diff --git a/src/mc/mc_snapshot.cpp b/src/mc/mc_snapshot.cpp index c3948710e4..8635af9ec1 100644 --- a/src/mc/mc_snapshot.cpp +++ b/src/mc/mc_snapshot.cpp @@ -161,7 +161,7 @@ Snapshot::Snapshot() : snapshot_regions_count(0), enabled_processes(), privatization_index(0), - stack_sizes(nullptr), + stack_sizes(), stacks(nullptr), to_ignore(nullptr), hash(0), @@ -177,7 +177,6 @@ Snapshot::~Snapshot() delete this->snapshot_regions[i]; } xbt_free(this->snapshot_regions); - xbt_free(this->stack_sizes); xbt_dynar_free(&(this->stacks)); xbt_dynar_free(&(this->to_ignore)); xbt_dynar_free(&this->ignored_data); diff --git a/src/mc/mc_snapshot.h b/src/mc/mc_snapshot.h index 6a23ca0f24..075b9b7880 100644 --- a/src/mc/mc_snapshot.h +++ b/src/mc/mc_snapshot.h @@ -10,6 +10,7 @@ #include // off_t #include // size_t +#include #include #include @@ -112,7 +113,7 @@ public: // To be private size_t snapshot_regions_count; std::set enabled_processes; int privatization_index; - size_t *stack_sizes; + std::vector stack_sizes; xbt_dynar_t stacks; xbt_dynar_t to_ignore; uint64_t hash; -- 2.20.1