In-memory cache for modules. More...
#include "clang/Serialization/InMemoryModuleCache.h"
In-memory cache for modules.
This is a cache for modules for use across a compilation, sharing state between the CompilerInstances in an implicit modules build. It must be shared by each CompilerInstance, ASTReader, ASTWriter, and ModuleManager that are coordinating.
Critically, it ensures that a single process has a consistent view of each PCM. This is used by CompilerInstance when building PCMs to ensure that each ModuleManager sees the same files.
Definition at line 29 of file InMemoryModuleCache.h.
◆ StateThere are four states for a PCM.
It must monotonically increase.
Definition at line 56 of file InMemoryModuleCache.h.
◆ addBuiltPCM() llvm::MemoryBuffer & InMemoryModuleCache::addBuiltPCM ( llvm::StringRef Filename, std::unique_ptr< llvm::MemoryBuffer > Buffer ) ◆ addPCM() llvm::MemoryBuffer & InMemoryModuleCache::addPCM ( llvm::StringRef Filename, std::unique_ptr< llvm::MemoryBuffer > Buffer ) ◆ finalizePCM() void InMemoryModuleCache::finalizePCM ( llvm::StringRef Filename )Mark a PCM as final.
Definition at line 73 of file InMemoryModuleCache.cpp.
References Filename.
◆ getPCMState() ◆ isPCMFinal() bool InMemoryModuleCache::isPCMFinal ( llvm::StringRef Filename ) const ◆ lookupPCM() llvm::MemoryBuffer * InMemoryModuleCache::lookupPCM ( llvm::StringRef Filename ) const ◆ shouldBuildPCM() bool InMemoryModuleCache::shouldBuildPCM ( llvm::StringRef Filename ) const ◆ tryToDropPCM() bool InMemoryModuleCache::tryToDropPCM ( llvm::StringRef Filename )Try to remove a buffer from the cache.
No effect if state is Final.
Definition at line 59 of file InMemoryModuleCache.cpp.
References Filename.
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4