forked from OSchip/llvm-project
Lazily paging in file contents is a big win for PTH, strip out the old
testing code. llvm-svn: 63006
This commit is contained in:
parent
3975bbec58
commit
43a85b1e4c
|
@ -28,12 +28,6 @@ using llvm::MemoryBuffer;
|
|||
// SourceManager Helper Classes
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
||||
// This (temporary) directive toggles between lazy and eager creation of
|
||||
// MemBuffers. This directive is not permanent, and is here to test a few
|
||||
// potential optimizations in PTH. Once it is clear whether eager or lazy
|
||||
// creation of MemBuffers is better this directive will get removed.
|
||||
#define LAZY
|
||||
|
||||
ContentCache::~ContentCache() {
|
||||
delete Buffer;
|
||||
delete [] SourceLineCache;
|
||||
|
@ -54,15 +48,13 @@ unsigned ContentCache::getSize() const {
|
|||
return Entry ? Entry->getSize() : Buffer->getBufferSize();
|
||||
}
|
||||
|
||||
const llvm::MemoryBuffer* ContentCache::getBuffer() const {
|
||||
#ifdef LAZY
|
||||
const llvm::MemoryBuffer *ContentCache::getBuffer() const {
|
||||
// Lazily create the Buffer for ContentCaches that wrap files.
|
||||
if (!Buffer && Entry) {
|
||||
// FIXME: Should we support a way to not have to do this check over
|
||||
// and over if we cannot open the file?
|
||||
Buffer = MemoryBuffer::getFile(Entry->getName(), 0, Entry->getSize());
|
||||
}
|
||||
#endif
|
||||
return Buffer;
|
||||
}
|
||||
|
||||
|
@ -83,18 +75,8 @@ SourceManager::getOrCreateContentCache(const FileEntry *FileEnt) {
|
|||
if (I != FileInfos.end() && I->Entry == FileEnt)
|
||||
return &*I;
|
||||
|
||||
// Nope, get information.
|
||||
#ifndef LAZY
|
||||
const MemoryBuffer *File =
|
||||
MemoryBuffer::getFile(FileEnt->getName(), 0, FileEnt->getSize());
|
||||
if (File == 0)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
// Nope, create a new Cache entry.
|
||||
ContentCache& Entry = const_cast<ContentCache&>(*FileInfos.insert(I,FileEnt));
|
||||
#ifndef LAZY
|
||||
Entry.setBuffer(File);
|
||||
#endif
|
||||
Entry.SourceLineCache = 0;
|
||||
Entry.NumLines = 0;
|
||||
return &Entry;
|
||||
|
|
Loading…
Reference in New Issue