#include <xbt/mmalloc.h>
+using simgrid::mc::remote;
+
extern "C" {
// ***** Region management:
{
size_t* pagenos = (size_t*) malloc(page_count * sizeof(size_t));
- const bool is_self = MC_process_is_self(process);
+ const bool is_self = process->is_self();
void* temp = NULL;
if (!is_self)
- move the segments in shared memory (this will break `fork` however).
*/
page_data = temp;
- MC_process_read(process, MC_ADDRESS_SPACE_READ_FLAGS_NONE,
- temp, page, xbt_pagesize, MC_PROCESS_INDEX_DISABLED);
+ process->read_bytes(
+ temp, xbt_pagesize, remote(page),
+ simgrid::mc::ProcessIndexDisabled);
}
pagenos[i] = mc_model_checker->page_store().store_page(page_data);
// Otherwise, copy the page:
void* target_page = mc_page_from_number(start_addr, i);
const void* source_page = mc_model_checker->page_store().get_page(pagenos[i]);
- MC_process_write(process, source_page, target_page, xbt_pagesize);
+ process->write_bytes(source_page, xbt_pagesize, remote(target_page));
}
}