Michael J. Spencer
f28df4cdba
Replace all uses of PathV1::isAbsolute with PathV2::is_{absolute,relative}.
...
llvm-svn: 122087
2010-12-17 21:22:22 +00:00
Chris Lattner
4fc8fb09d0
attempt to fix a buildbot failure, apparently apache fails to build.
...
llvm-svn: 120688
2010-12-02 04:27:29 +00:00
Michael J. Spencer
8aaf49959c
Merge System into Support.
...
llvm-svn: 120297
2010-11-29 18:12:39 +00:00
Francois Pichet
31ee8bfb0e
Fix 2 problems with Chris Lattner's FileManager redesign on Windows.
...
- FileEntry::operator= is needed on Win32.
- There was an error in the S_ISDIR() macro.
llvm-svn: 120079
2010-11-24 03:07:43 +00:00
Chris Lattner
5ea7d07d2a
The final result of all this refactoring: instead of doing stat immediately
...
followed by an open for every source file we open, probe the file system with
'open' and then do an fstat when it succeeds. open+fstat is faster than
stat+open because the kernel only has to perform the string->inode mapping
once. Presumably it gets faster the deeper in your filesystem a lookup
happens.
For -Eonly on cocoa.h, this reduces system time from 0.042s to 0.039s on
my machine, a 7.7% speedup.
llvm-svn: 120066
2010-11-23 22:32:37 +00:00
Chris Lattner
f77e11ba05
if we succeed in opening a directory but expected a file, ensure we don't
...
leak a filedescriptor if a client ever starts returning one.
llvm-svn: 120062
2010-11-23 21:53:56 +00:00
Chris Lattner
dd278430a3
change the 'is directory' indicator to be a null-or-not
...
pointer that is passed down through the APIs, and make
FileSystemStatCache::get be the one that filters out
directory lookups that hit files. This also paves the
way to have stat queries be able to return opened files.
llvm-svn: 120060
2010-11-23 21:17:56 +00:00
Chris Lattner
ea61b32c4a
replicate a terrible hack to fix a build error on VC++
...
llvm-svn: 120039
2010-11-23 20:07:39 +00:00
Chris Lattner
8f0583daa2
simplify the cache miss handling code, eliminating CacheMissing.
...
llvm-svn: 120038
2010-11-23 20:05:15 +00:00
Chris Lattner
b3c814538b
r120013 dropped passing in the precomputed file size to
...
MemoryBuffer::getFile, causing us to pick up a fstat for
every file. Restore the optimization.
llvm-svn: 120032
2010-11-23 19:38:22 +00:00
Chris Lattner
2a6fa47b26
PCH files only cache successful stats. Remove the code that reads/writes
...
the result code of the stat to/from the PCH file since it is always 0.
llvm-svn: 120031
2010-11-23 19:28:12 +00:00
Chris Lattner
226efd356c
rework the stat cache, pulling it out of FileManager.h into
...
its own header and giving it some more structure. No
functionality change.
llvm-svn: 120030
2010-11-23 19:19:34 +00:00