)
);
#else /* INDIRECT_CORE */
- // free up as much core as we need to
- rassert(do_swap_out(blocks - core_block_pool.avail));
-
// allocate core and possible swap
if (
!pool_alloc(
return false;
}
+ // free up as much core as we need to
+ rassert(do_swap_out(blocks - core_block_pool.avail));
+
// populate physical blocks as needed
rassert(
block_pool_alloc(
)
);
#else /* INDIRECT_CORE */
- // free up as much core as we need to
- rassert(do_swap_out(blocks_change - core_block_pool.avail));
-
// reallocate core and possible swap
if (
!pool_alloc(
),
-blocks_change
);
- else
+ else {
+ // free up as much core as we need to
+ rassert(do_swap_out(blocks_change - core_block_pool.avail));
+
// populate physical blocks as needed
rassert(
block_pool_alloc(
blocks_change
)
);
+ }
#endif /* INDIRECT_CORE */
// track total allocation