aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/ISimpleLifetimeManager.h
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-05-03 20:47:16 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:51:50 +0000
commit3d1489de593574e65ef1e64a7ae64e4e56c2978b (patch)
treef87f3df521cb5ed8bd383dad89cbeb92c49670ac /arm_compute/runtime/ISimpleLifetimeManager.h
parent54d6fae4dbb4f556cc5ec484c51681ad84c015a7 (diff)
downloadComputeLibrary-3d1489de593574e65ef1e64a7ae64e4e56c2978b.tar.gz
COMPMID-605: Transition buffer memory manager
Change-Id: Ide7c6124eb19f13f15f517e62d705646a0cd1ecd Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130184 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/runtime/ISimpleLifetimeManager.h')
-rw-r--r--arm_compute/runtime/ISimpleLifetimeManager.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/arm_compute/runtime/ISimpleLifetimeManager.h b/arm_compute/runtime/ISimpleLifetimeManager.h
index 792ab0b558..7942e40f7f 100644
--- a/arm_compute/runtime/ISimpleLifetimeManager.h
+++ b/arm_compute/runtime/ISimpleLifetimeManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -30,7 +30,9 @@
#include "arm_compute/runtime/Types.h"
#include <cstddef>
+#include <list>
#include <map>
+#include <set>
#include <vector>
namespace arm_compute
@@ -77,9 +79,19 @@ protected:
bool status; /**< Lifetime status */
};
- IMemoryGroup *_active_group; /**< Active group */
- std::vector<Element> _active_elements; /**< A map that contains the active elements */
- std::map<IMemoryGroup *, std::vector<Element>> _finalized_groups; /**< A map that contains the finalized groups */
+ /** Blob struct */
+ struct Blob
+ {
+ void *id;
+ size_t max_size;
+ std::set<void *> bound_elements;
+ };
+
+ IMemoryGroup *_active_group; /**< Active group */
+ std::map<void *, Element> _active_elements; /**< A map that contains the active elements */
+ std::list<Blob> _free_blobs; /**< Free blobs */
+ std::list<Blob> _occupied_blobs; /**< Occupied blobs */
+ std::map<IMemoryGroup *, std::map<void *, Element>> _finalized_groups; /**< A map that contains the finalized groups */
};
} // namespace arm_compute
#endif /* __ARM_COMPUTE_ISIMPLELIFETIMEMANAGER_H__ */