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
[mc] Use vector<RegionSnapshot> instead of vector<unique_ptr<RegionSnapshot>> in...
[simgrid.git]
/
src
/
mc
/
mc_page_snapshot.cpp
diff --git
a/src/mc/mc_page_snapshot.cpp
b/src/mc/mc_page_snapshot.cpp
index
cc75c46
..
eeaa925
100644
(file)
--- a/
src/mc/mc_page_snapshot.cpp
+++ b/
src/mc/mc_page_snapshot.cpp
@@
-82,7
+82,7
@@
void mc_restore_page_snapshot_region(mc_process_t process,
// ***** High level API
// ***** High level API
-
mc_mem_region_t mc_region_new
_sparse(mc_region_type_t region_type,
+
simgrid::mc::RegionSnapshot MC_region
_sparse(mc_region_type_t region_type,
void *start_addr, void* permanent_addr, size_t size)
{
mc_process_t process = &mc_model_checker->process();
void *start_addr, void* permanent_addr, size_t size)
{
mc_process_t process = &mc_model_checker->process();
@@
-93,24
+93,22
@@
mc_mem_region_t mc_region_new_sparse(mc_region_type_t region_type,
"Not at the beginning of a page");
size_t page_count = mc_page_count(size);
"Not at the beginning of a page");
size_t page_count = mc_page_count(size);
- simgrid::mc::PerPageCopy page_data =
- simgrid::mc::PerPageCopy(mc_model_checker->page_store(), *process,
+ simgrid::mc::PerPageCopy page_data(mc_model_checker->page_store(), *process,
permanent_addr, page_count);
permanent_addr, page_count);
-
mc_mem_region_t region = new simgrid::mc::RegionSnapshot
(
+
simgrid::mc::RegionSnapshot region
(
region_type, start_addr, permanent_addr, size);
region_type, start_addr, permanent_addr, size);
- region->page_data(std::move(page_data));
-
- return region;
+ region.page_data(std::move(page_data));
+ return std::move(region);
}
void mc_region_restore_sparse(mc_process_t process, mc_mem_region_t reg)
{
}
void mc_region_restore_sparse(mc_process_t process, mc_mem_region_t reg)
{
- xbt_assert(((
(uintptr_t)reg->permanent_addr
) & (xbt_pagesize-1)) == 0,
+ xbt_assert(((
reg->permanent_address().address()
) & (xbt_pagesize-1)) == 0,
"Not at the beginning of a page");
"Not at the beginning of a page");
- xbt_assert(mc_page_count(reg->size) == reg->page_data().page_count());
+ xbt_assert(mc_page_count(reg->size
()
) == reg->page_data().page_count());
mc_restore_page_snapshot_region(process,
mc_restore_page_snapshot_region(process,
-
reg->permanent_addr
, reg->page_data());
+
(void*) reg->permanent_address().address()
, reg->page_data());
}
}
}
}