#include "src/mc/mc_record.h"
#include "src/mc/mc_base.h"
-#ifdef HAVE_MC
+#if HAVE_MC
#include "src/mc/mc_request.h"
#include "src/mc/mc_private.h"
#include "src/mc/mc_state.h"
#include "src/mc/mc_liveness.h"
#endif
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_record, mc,
" Logging specific to MC record/replay facility");
+extern "C" {
+
char* MC_record_path = nullptr;
void MC_record_replay(mc_record_item_t start, std::size_t len)
return nullptr;
}
-#ifdef HAVE_MC
+#if HAVE_MC
static char* MC_record_stack_to_string_liveness(xbt_fifo_t stack)
{
char* buffer;
xbt_fifo_item_t item;
xbt_fifo_item_t start = xbt_fifo_get_last_item(stack);
for (item = start; item; item = xbt_fifo_get_prev_item(item)) {
- mc_pair_t pair = (mc_pair_t) xbt_fifo_get_item_content(item);
+ simgrid::mc::Pair* pair = (simgrid::mc::Pair*) xbt_fifo_get_item_content(item);
int value;
smx_simcall_t req = MC_state_get_executed_request(pair->graph_state, &value);
if (req && req->call != SIMCALL_NONE) {
void MC_record_replay_from_string(const char* path_string)
{
+ simgrid::mc::processes_time.resize(simix_process_maxpid);
xbt_dynar_t path = MC_record_from_string(path_string);
mc_record_item_t start = &xbt_dynar_get_as(path, 0, s_mc_record_item_t);
MC_record_replay(start, xbt_dynar_length(path));
xbt_dynar_free(&path);
-}
-
-void MC_record_replay_init()
-{
- simgrid::mc::processes_time.resize(simix_process_maxpid);
+ simgrid::mc::processes_time.clear();
}
}