Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Abstract the process and a snapshot types with a address_space superclass
authorGabriel Corona <gabriel.corona@loria.fr>
Tue, 16 Dec 2014 12:06:37 +0000 (13:06 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Fri, 19 Dec 2014 09:08:23 +0000 (10:08 +0100)
commit2e3c0670f37a0c37487fc75c73956290dc086c50
treee72e5fece187595aafac8105d027ce97b474588a
parentcab8958c00908cf1dbf721f6ba1bb6750ea4245c
[mc] Abstract the process and a snapshot types with a address_space superclass

Add a `address_space`, superclass of `process` and  `snapshot`.

In order to do this, the contract of MC_process_read and
MC_snapshot_read has been uniformized:

  * the order of arguments has been harmonized;

  * a new flag MC_ADDRESS_SPACE_READ_FLAGS_LAZY is used to avoid copy
    when the data is in the current memory;

  * MC_NO_PROCESS_INDEX has been renamed into MC_PROCESS_INDEX_MISSING;

  * MC_ANY_PROCESS_INDEX has been renamed into MC_PROCESS_INDEX_ANY;

  * MC_PROCESS_INDEX_DISABLED is used to access the raw address space
    (without privatisation support);

  * `const void*` is used instead of `void*` when it possible.

Soem cleanup things are still to be done:

 * remove special NULL handling;

 * add support for SMPI privatization in the process object.
17 files changed:
buildtools/Cmake/DefinePackages.cmake
include/xbt/mmalloc.h
src/mc/mc_address_space.c [new file with mode: 0644]
src/mc/mc_address_space.h [new file with mode: 0644]
src/mc/mc_checkpoint.c
src/mc/mc_compare.cpp
src/mc/mc_diff.c
src/mc/mc_dwarf_expression.c
src/mc/mc_location.h
src/mc/mc_member.c
src/mc/mc_mmu.h
src/mc/mc_object_info.h
src/mc/mc_page_snapshot.cpp
src/mc/mc_process.c
src/mc/mc_process.h
src/mc/mc_snapshot.c
src/mc/mc_snapshot.h