Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
further WIP on the ActivityImplPtr feature. Now it compiles (but fails)
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 7 Jun 2017 09:17:05 +0000 (11:17 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 13 Jun 2017 20:19:58 +0000 (22:19 +0200)
commit652e6c763d01ad7924087d541928bd44c795d72d
tree65402bf275021722f65c923bdacb6025357ce432
parent2f4509c52115b8a4fb4916f51057d6b9314b4c45
further WIP on the ActivityImplPtr feature. Now it compiles (but fails)

ActivityImplPtr are all over the place, and the manual refcounting is
dead. Most tests still fail, for some reason that I don't understand
yet. That's a WIP...

Notable point:
MC wants to retrieve the pointers to the ActivityImpl in a remote
process, even if their type is ActivityImplPtr (that is,
intrusive_ptr<ActivityImpl>).

The good thing is that in this case, the raw pointer is stored in the
simcall parameters, and the *Ptr type is reconstructed by the marshal
function.

So I just have to generate the <simcall>__getraw__<param/res>()
functions that return the raw pointer without building a *Ptr type. It
compiles, but the MC is broken ATM so maybe it's not sufficient.

I'm committing anyway because I want to add simpler tests for the
communications that would make the debug of this feature easier to
achieve.
17 files changed:
src/kernel/activity/ActivityImpl.cpp
src/kernel/activity/CommImpl.cpp
src/kernel/activity/MailboxImpl.cpp
src/mc/checker/CommunicationDeterminismChecker.cpp
src/mc/mc_comm_pattern.cpp
src/mc/mc_request.cpp
src/mc/mc_state.cpp
src/msg/msg_gos.cpp
src/s4u/s4u_comm.cpp
src/simix/ActorImpl.hpp
src/simix/popping_accessors.h
src/simix/popping_bodies.cpp
src/simix/popping_generated.cpp
src/simix/popping_private.h
src/simix/simcalls.in
src/simix/simcalls.py
src/simix/smx_network.cpp