MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / start_lifetime

Method start_lifetime

src/runtime/ISimpleLifetimeManager.cpp:67–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65}
66
67void ISimpleLifetimeManager::start_lifetime(void *obj)
68{
69 ARM_COMPUTE_ERROR_ON(obj == nullptr);
70 ARM_COMPUTE_ERROR_ON_MSG(_active_elements.find(obj) != std::end(_active_elements),
71 "Memory object is already registered!");
72
73 // Check if there is a free blob
74 if (_free_blobs.empty())
75 {
76 _occupied_blobs.emplace_front(Blob{obj, 0, 0, {obj}});
77 }
78 else
79 {
80 _occupied_blobs.splice(std::begin(_occupied_blobs), _free_blobs, std::begin(_free_blobs));
81 _occupied_blobs.front().id = obj;
82 }
83
84 // Insert object in groups and mark its finalized state to false
85 _active_elements.insert(std::make_pair(obj, obj));
86}
87
88void ISimpleLifetimeManager::end_lifetime(void *obj, IMemory &obj_memory, size_t size, size_t alignment)
89{

Callers 1

manageMethod · 0.80

Calls 3

endFunction · 0.85
findMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected