summaryrefslogtreecommitdiff
path: root/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-01-26 07:37:49 +0000
committerChris Lattner <sabre@nondot.org>2009-01-26 07:37:49 +0000
commit987cd3da36e90aa21a9e290f5b383cf010762b83 (patch)
treed33bce48498a5bc71ac89ab6b223f539bc4d6094 /lib/Basic/SourceManager.cpp
parent6e1aff2f586025f2d385ee49239f626b0fc63fd7 (diff)
downloadclang-987cd3da36e90aa21a9e290f5b383cf010762b83.tar.gz
Lazily paging in file contents is a big win for PTH, strip out the old
testing code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63006 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/SourceManager.cpp')
-rw-r--r--lib/Basic/SourceManager.cpp22
1 files changed, 2 insertions, 20 deletions
diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp
index e30e2a8131..fcca97774d 100644
--- a/lib/Basic/SourceManager.cpp
+++ b/lib/Basic/SourceManager.cpp
@@ -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;