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:
Chris Lattner 2009-01-26 07:37:49 +00:00
parent 3975bbec58
commit 43a85b1e4c
1 changed files with 2 additions and 20 deletions

View File

@ -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;