A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
further WIP on the ActivityImplPtr feature. Now it compiles (but fails)
[simgrid.git]
/
src
/
mc
/
mc_request.cpp
diff --git
a/src/mc/mc_request.cpp
b/src/mc/mc_request.cpp
index
06e09a4
..
efa8aa7
100644
(file)
--- a/
src/mc/mc_request.cpp
+++ b/
src/mc/mc_request.cpp
@@
-23,9
+23,9
@@
static inline simgrid::kernel::activity::CommImpl* MC_get_comm(smx_simcall_t r)
{
switch (r->call ) {
case SIMCALL_COMM_WAIT:
- return static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_wait__get__comm(r));
+ return static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_wait__get
raw
__comm(r));
case SIMCALL_COMM_TEST:
- return static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_test__get__comm(r));
+ return static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_test__get
raw
__comm(r));
default:
return nullptr;
}
@@
-257,7
+257,7
@@
std::string simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid
case SIMCALL_COMM_WAIT: {
simgrid::kernel::activity::CommImpl* remote_act =
- static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_wait__get__comm(req));
+ static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_wait__get
raw
__comm(req));
char* p;
if (value == -1) {
type = "WaitTimeout";
@@
-290,7
+290,7
@@
std::string simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid
case SIMCALL_COMM_TEST: {
simgrid::kernel::activity::CommImpl* remote_act =
- static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_test__get__comm(req));
+ static_cast<simgrid::kernel::activity::CommImpl*>(simcall_comm_test__get
raw
__comm(req));
simgrid::mc::Remote<simgrid::kernel::activity::CommImpl> temp_synchro;
simgrid::kernel::activity::CommImpl* act;
if (use_remote_comm) {
@@
-329,7
+329,7
@@
std::string simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid
read_element(mc_model_checker->process(),
&remote_sync, remote(simcall_comm_waitany__get__comms(req)), value,
sizeof(remote_sync));
- char* p = pointer_to_string(remote_sync);
+ char* p = pointer_to_string(
&*
remote_sync);
args = bprintf("comm=%s (%d of %lu)",
p, value + 1, xbt_dynar_length(&comms));
xbt_free(p);
@@
-404,25
+404,22
@@
namespace mc {
bool request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx)
{
- s
mx_activity_t
remote_act = nullptr;
+ s
imgrid::kernel::activity::ActivityImpl*
remote_act = nullptr;
switch (req->call) {
case SIMCALL_COMM_WAIT:
/* FIXME: check also that src and dst processes are not suspended */
- remote_act = simcall_comm_wait__get__comm(req);
+ remote_act = simcall_comm_wait__get
raw
__comm(req);
break;
case SIMCALL_COMM_WAITANY: {
- read_element(
- mc_model_checker->process(), &remote_act,
- remote(simcall_comm_waitany__get__comms(req)),
- idx, sizeof(remote_act));
+ read_element(mc_model_checker->process(), &remote_act, remote(simcall_comm_waitany__getraw__comms(req)), idx,
+ sizeof(remote_act));
}
break;
case SIMCALL_COMM_TESTANY:
- remote_act = mc_model_checker->process().read(remote(
- simcall_comm_testany__get__comms(req) + idx));
+ remote_act = mc_model_checker->process().read(remote(simcall_comm_testany__getraw__comms(req) + idx));
break;
default:
@@
-489,7
+486,7
@@
std::string request_get_dot_output(smx_simcall_t req, int value)
else
label = simgrid::xbt::string_printf("[(%lu)] WaitTimeout", issuer->pid);
} else {
- s
mx_activity_t remote_act = simcall_comm_wait__get
__comm(req);
+ s
imgrid::kernel::activity::ActivityImpl* remote_act = simcall_comm_wait__getraw
__comm(req);
simgrid::mc::Remote<simgrid::kernel::activity::CommImpl> temp_comm;
mc_model_checker->process().read(temp_comm,
remote(static_cast<simgrid::kernel::activity::CommImpl*>(remote_act)));
@@
-511,7
+508,7
@@
std::string request_get_dot_output(smx_simcall_t req, int value)
}
case SIMCALL_COMM_TEST: {
- s
mx_activity_t remote_act = simcall_comm_test__get
__comm(req);
+ s
imgrid::kernel::activity::ActivityImpl* remote_act = simcall_comm_test__getraw
__comm(req);
simgrid::mc::Remote<simgrid::kernel::activity::CommImpl> temp_comm;
mc_model_checker->process().read(temp_comm, remote(static_cast<simgrid::kernel::activity::CommImpl*>(remote_act)));
simgrid::kernel::activity::CommImpl* comm = temp_comm.getBuffer();