From: Chris Lattner Date: Mon, 26 Jan 2009 07:37:49 +0000 (+0000) Subject: Lazily paging in file contents is a big win for PTH, strip out the old X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=987cd3da36e90aa21a9e290f5b383cf010762b83;p=clang 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 --- 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(*FileInfos.insert(I,FileEnt)); -#ifndef LAZY - Entry.setBuffer(File); -#endif Entry.SourceLineCache = 0; Entry.NumLines = 0; return &Entry;