| 36 | } |
| 37 | |
| 38 | megdnn::test::MemoryManager* megdnn::test::MemoryManagerHolder::get(Handle* handle) { |
| 39 | std::lock_guard<std::mutex> lock(m_map_mutex); |
| 40 | auto i = m_map.find(handle); |
| 41 | if (i != m_map.end()) { |
| 42 | // found |
| 43 | return i->second.get(); |
| 44 | } else { |
| 45 | // not found. create it |
| 46 | auto mm = create_memory_manager_from_handle(handle); |
| 47 | auto res = mm.get(); |
| 48 | m_map.emplace(std::make_pair(handle, std::move(mm))); |
| 49 | return res; |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | void MemoryManagerHolder::update( |
| 54 | Handle* handle, std::unique_ptr<MemoryManager> memory_manager) { |
no test coverage detected