X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f..64a60fa58ca5dc30df8b2780c4901773f219d8ea:/src/simix/popping_generated.cpp diff --git a/src/simix/popping_generated.cpp b/src/simix/popping_generated.cpp index 0c4e43190d..5648fbea1d 100644 --- a/src/simix/popping_generated.cpp +++ b/src/simix/popping_generated.cpp @@ -21,6 +21,7 @@ #include "src/mc/mc_forward.hpp" #endif #include "src/kernel/activity/ConditionVariableImpl.hpp" +#include "src/mc/checker/SimcallObserver.hpp" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_popping); @@ -28,23 +29,14 @@ using simgrid::simix::Simcall; /** @brief Simcalls' names (generated from src/simix/simcalls.in) */ constexpr std::array simcall_names{{ "Simcall::NONE", - "Simcall::EXECUTION_WAITANY_FOR", - "Simcall::COMM_SEND", - "Simcall::COMM_ISEND", "Simcall::COMM_RECV", "Simcall::COMM_IRECV", - "Simcall::COMM_WAITANY", - "Simcall::COMM_WAIT", + "Simcall::COMM_SEND", + "Simcall::COMM_ISEND", "Simcall::COMM_TEST", "Simcall::COMM_TESTANY", - "Simcall::MUTEX_LOCK", - "Simcall::MUTEX_TRYLOCK", - "Simcall::MUTEX_UNLOCK", - "Simcall::COND_WAIT", - "Simcall::COND_WAIT_TIMEOUT", - "Simcall::SEM_ACQUIRE", - "Simcall::SEM_ACQUIRE_TIMEOUT", - "Simcall::MC_RANDOM", + "Simcall::COMM_WAITANY", + "Simcall::COMM_WAIT", "Simcall::RUN_KERNEL", "Simcall::RUN_BLOCKING", }}; @@ -54,25 +46,15 @@ constexpr std::array simcall_names{{ * * This function is generated from src/simix/simcalls.in */ -void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) { +void simgrid::kernel::actor::ActorImpl::simcall_handle(int times_considered) +{ XBT_DEBUG("Handling simcall %p: %s", &simcall_, SIMIX_simcall_name(simcall_.call_)); - SIMCALL_SET_MC_VALUE(simcall_, value); + simcall_.mc_value_ = times_considered; + if (simcall_.observer_ != nullptr) + simcall_.observer_->prepare(times_considered); if (context_->wannadie()) return; switch (simcall_.call_) { - case Simcall::EXECUTION_WAITANY_FOR: - simcall_HANDLER_execution_waitany_for(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2])); - break; - - case Simcall::COMM_SEND: - simcall_HANDLER_comm_send(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2]), simgrid::simix::unmarshal(simcall_.args_[3]), simgrid::simix::unmarshal(simcall_.args_[4]), simgrid::simix::unmarshal(simcall_.args_[5]), simgrid::simix::unmarshal(simcall_.args_[6]), simgrid::simix::unmarshal(simcall_.args_[7]), simgrid::simix::unmarshal(simcall_.args_[8]), simgrid::simix::unmarshal(simcall_.args_[9])); - break; - - case Simcall::COMM_ISEND: - simgrid::simix::marshal>(simcall_.result_, simcall_HANDLER_comm_isend(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2]), simgrid::simix::unmarshal(simcall_.args_[3]), simgrid::simix::unmarshal(simcall_.args_[4]), simgrid::simix::unmarshal(simcall_.args_[5]), simgrid::simix::unmarshal(simcall_.args_[6]), simgrid::simix::unmarshal(simcall_.args_[7]), simgrid::simix::unmarshal(simcall_.args_[8]), simgrid::simix::unmarshal(simcall_.args_[9]), simgrid::simix::unmarshal(simcall_.args_[10]))); - simcall_answer(); - break; - case Simcall::COMM_RECV: simcall_HANDLER_comm_recv(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2]), simgrid::simix::unmarshal(simcall_.args_[3]), simgrid::simix::unmarshal(simcall_.args_[4]), simgrid::simix::unmarshal(simcall_.args_[5]), simgrid::simix::unmarshal(simcall_.args_[6]), simgrid::simix::unmarshal(simcall_.args_[7]), simgrid::simix::unmarshal(simcall_.args_[8])); break; @@ -82,12 +64,13 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) { simcall_answer(); break; - case Simcall::COMM_WAITANY: - simcall_HANDLER_comm_waitany(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2])); + case Simcall::COMM_SEND: + simcall_HANDLER_comm_send(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2]), simgrid::simix::unmarshal(simcall_.args_[3]), simgrid::simix::unmarshal(simcall_.args_[4]), simgrid::simix::unmarshal(simcall_.args_[5]), simgrid::simix::unmarshal(simcall_.args_[6]), simgrid::simix::unmarshal(simcall_.args_[7]), simgrid::simix::unmarshal(simcall_.args_[8]), simgrid::simix::unmarshal(simcall_.args_[9])); break; - case Simcall::COMM_WAIT: - simcall_HANDLER_comm_wait(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1])); + case Simcall::COMM_ISEND: + simgrid::simix::marshal>(simcall_.result_, simcall_HANDLER_comm_isend(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2]), simgrid::simix::unmarshal(simcall_.args_[3]), simgrid::simix::unmarshal(simcall_.args_[4]), simgrid::simix::unmarshal(simcall_.args_[5]), simgrid::simix::unmarshal(simcall_.args_[6]), simgrid::simix::unmarshal(simcall_.args_[7]), simgrid::simix::unmarshal(simcall_.args_[8]), simgrid::simix::unmarshal(simcall_.args_[9]), simgrid::simix::unmarshal(simcall_.args_[10]))); + simcall_answer(); break; case Simcall::COMM_TEST: @@ -98,39 +81,12 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) { simcall_HANDLER_comm_testany(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1])); break; - case Simcall::MUTEX_LOCK: - simcall_HANDLER_mutex_lock(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0])); - break; - - case Simcall::MUTEX_TRYLOCK: - simgrid::simix::marshal(simcall_.result_, simcall_HANDLER_mutex_trylock(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]))); - simcall_answer(); - break; - - case Simcall::MUTEX_UNLOCK: - simcall_HANDLER_mutex_unlock(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0])); - simcall_answer(); - break; - - case Simcall::COND_WAIT: - simcall_HANDLER_cond_wait(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1])); - break; - - case Simcall::COND_WAIT_TIMEOUT: - simcall_HANDLER_cond_wait_timeout(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2])); - break; - - case Simcall::SEM_ACQUIRE: - simcall_HANDLER_sem_acquire(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0])); - break; - - case Simcall::SEM_ACQUIRE_TIMEOUT: - simcall_HANDLER_sem_acquire_timeout(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1])); + case Simcall::COMM_WAITANY: + simcall_HANDLER_comm_waitany(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]), simgrid::simix::unmarshal(simcall_.args_[2])); break; - case Simcall::MC_RANDOM: - simgrid::simix::marshal(simcall_.result_, simcall_HANDLER_mc_random(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1]))); - simcall_answer(); + case Simcall::COMM_WAIT: + simcall_HANDLER_comm_wait(&simcall_, simgrid::simix::unmarshal(simcall_.args_[0]), simgrid::simix::unmarshal(simcall_.args_[1])); break; case Simcall::RUN_KERNEL: