| 46 | } |
| 47 | |
| 48 | void GlobalCache::addProgram(const BytesKey& programKey, std::shared_ptr<Program> program) { |
| 49 | if (program == nullptr) { |
| 50 | return; |
| 51 | } |
| 52 | program->programKey = programKey; |
| 53 | programLRU.push_front(program.get()); |
| 54 | program->cachedPosition = programLRU.begin(); |
| 55 | programMap[programKey] = std::move(program); |
| 56 | while (programLRU.size() > MAX_PROGRAM_COUNT) { |
| 57 | auto oldProgram = programLRU.back(); |
| 58 | programLRU.pop_back(); |
| 59 | programMap.erase(oldProgram->programKey); |
| 60 | } |
| 61 | } |
| 62 | |
| 63 | void GlobalCache::releaseAll() { |
| 64 | programLRU.clear(); |
no test coverage detected