| 50 | } |
| 51 | |
| 52 | void MemoryManagerOnDemand::populate(arm_compute::IAllocator &allocator, size_t num_pools) |
| 53 | { |
| 54 | ARM_COMPUTE_ERROR_ON(!_lifetime_mgr); |
| 55 | ARM_COMPUTE_ERROR_ON(!_pool_mgr); |
| 56 | ARM_COMPUTE_ERROR_ON_MSG(!_lifetime_mgr->are_all_finalized(), "All the objects have not been finalized!"); |
| 57 | ARM_COMPUTE_ERROR_ON_MSG(_pool_mgr->num_pools() != 0, "Pool manager already contains pools!"); |
| 58 | |
| 59 | // Create pools |
| 60 | auto pool_template = _lifetime_mgr->create_pool(&allocator); |
| 61 | for (int i = num_pools; i > 1; --i) |
| 62 | { |
| 63 | auto pool = pool_template->duplicate(); |
| 64 | _pool_mgr->register_pool(std::move(pool)); |
| 65 | } |
| 66 | _pool_mgr->register_pool(std::move(pool_template)); |
| 67 | } |
| 68 | |
| 69 | void MemoryManagerOnDemand::clear() |
| 70 | { |
no test coverage detected