}
// The pointers are both in the current object R/W segment:
- else if (mc_region_contain(region1, addr_pointed1)) {
- if (!mc_region_contain(region2, addr_pointed2))
+ else if (region1->contain(simgrid::mc::remote(addr_pointed1))) {
+ if (!region2->contain(simgrid::mc::remote(addr_pointed2)))
return 1;
if (type->dw_type_id == NULL)
return (addr_pointed1 != addr_pointed2);
size_t n = snapshot->snapshot_regions_count;
for (size_t i = 0; i != n; ++i) {
mc_mem_region_t region = snapshot->snapshot_regions[i];
- if (!(region && mc_region_contain(region, addr)))
+ if (!(region && region->contain(simgrid::mc::remote(addr))))
continue;
if (region->storage_type() == simgrid::mc::StorageType::Privatized) {
xbt_die("Invalid process index");
}
simgrid::mc::RegionSnapshot& priv_region = region->privatized_data()[process_index];
- xbt_assert(mc_region_contain(&priv_region, addr));
+ xbt_assert(priv_region.contain(simgrid::mc::remote(addr)));
return &priv_region;
#else
xbt_die("Privatized region in a non SMPI build (this should not happen)");
XBT_INTERNAL void mc_region_restore_sparse(mc_process_t process, mc_mem_region_t reg);
-static inline __attribute__ ((always_inline))
-bool mc_region_contain(mc_mem_region_t region, const void* p)
-{
- return region->contain(simgrid::mc::remote(p));
-}
-
static inline __attribute__((always_inline))
void* mc_translate_address_region_chunked(uintptr_t addr, mc_mem_region_t region)
{
static inline __attribute__ ((always_inline))
mc_mem_region_t mc_get_region_hinted(void* addr, mc_snapshot_t snapshot, int process_index, mc_mem_region_t region)
{
- if (mc_region_contain(region, addr))
+ if (region->contain(simgrid::mc::remote(addr)))
return region;
else
return mc_get_snapshot_region(addr, snapshot, process_index);
uintptr_t offset = (uintptr_t) addr - (uintptr_t) region->start().address();
- xbt_assert(mc_region_contain(region, addr),
+ xbt_assert(region->contain(simgrid::mc::remote(addr)),
"Trying to read out of the region boundary.");
switch (region->storage_type()) {