mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-26 08:41:47 -07:00
Mps lo pool coverage test: call mps_arena_formatted_objects_walk
and check we find the right number of test objects. (integ from branch) Copied from Perforce Change: 159443 ServerID: perforce.ravenbrook.com
This commit is contained in:
commit
bb67208a4c
1 changed files with 21 additions and 0 deletions
|
|
@ -22,6 +22,9 @@ static mps_addr_t isMoved(mps_addr_t object);
|
|||
static void copy(mps_addr_t old, mps_addr_t new);
|
||||
static void pad(mps_addr_t base, size_t size);
|
||||
|
||||
static void stepper(mps_addr_t addr, mps_fmt_t fmt, mps_pool_t pool,
|
||||
void *p, size_t s);
|
||||
|
||||
static mps_fmt_A_s locv_fmt =
|
||||
{
|
||||
(mps_align_t)4,
|
||||
|
|
@ -61,17 +64,26 @@ int main(void)
|
|||
die(mps_reserve(&p, ap, (size_t)4), "mps_reserve 4");
|
||||
*(mps_word_t *)p = 4;
|
||||
cdie(mps_commit(ap, p, (size_t)4), "commit 4");
|
||||
|
||||
die(mps_reserve(&roots[1], ap, (size_t)8), "mps_reserve 8");
|
||||
p = roots[1];
|
||||
*(mps_word_t *)p = 8;
|
||||
cdie(mps_commit(ap, p, (size_t)8), "commit 8");
|
||||
|
||||
die(mps_reserve(&p, ap, (size_t)4096), "mps_reserve 4096");
|
||||
*(mps_word_t *)p = 4096;
|
||||
cdie(mps_commit(ap, p, (size_t)4096), "commit 4096");
|
||||
|
||||
die(mps_reserve(&p, ap, (size_t)4), "mps_reserve last");
|
||||
*(mps_word_t *)p = 4;
|
||||
cdie(mps_commit(ap, p, (size_t)4), "commit last");
|
||||
|
||||
{
|
||||
size_t count = 0;
|
||||
mps_arena_formatted_objects_walk(arena, stepper, &count, 0);
|
||||
cdie(count == 4, "walk 4 objects");
|
||||
}
|
||||
|
||||
mps_ap_destroy(ap);
|
||||
mps_pool_destroy(pool);
|
||||
mps_fmt_destroy(format);
|
||||
|
|
@ -135,6 +147,15 @@ static void pad(mps_addr_t base, size_t size)
|
|||
cdie(0, "pad");
|
||||
}
|
||||
|
||||
static void stepper(mps_addr_t addr, mps_fmt_t fmt, mps_pool_t pool,
|
||||
void *p, size_t s)
|
||||
{
|
||||
size_t *pcount = p;
|
||||
*pcount += 1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue