The only entry in the stat buf this code cares about is the size.  Keep just
the size, not the whole stat buffer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29171 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/Unix/MappedFile.inc b/lib/System/Unix/MappedFile.inc
index 8cd2a96..a0dfbbd 100644
--- a/lib/System/Unix/MappedFile.inc
+++ b/lib/System/Unix/MappedFile.inc
@@ -35,8 +35,8 @@
 using namespace sys;
 
 struct sys::MappedFileInfo {
-  int fd_;
-  struct stat sbuf_;
+  int   FD;
+  off_t Size;
 };
 
 void MappedFile::initialize() {
@@ -62,14 +62,14 @@
     ThrowErrno(std::string("Can't stat file: ") + path_.toString());
   }
   info_ = new MappedFileInfo;
-  info_->fd_ = FD;
-  info_->sbuf_ = sbuf;
+  info_->FD = FD;
+  info_->Size = sbuf.st_size;
 }
 
 void MappedFile::terminate() {
   assert(info_ && "MappedFile not initialized");
-  if (info_->fd_ >= 0)
-    ::close(info_->fd_);
+  if (info_->FD >= 0)
+    ::close(info_->FD);
   delete info_;
   info_ = 0;
 }
@@ -78,8 +78,8 @@
   assert(info_ && "MappedFile not initialized");
   if (isMapped()) {
     if (options_ & WRITE_ACCESS)
-      ::msync(base_, info_->sbuf_.st_size, MS_SYNC);
-    ::munmap(base_, info_->sbuf_.st_size);
+      ::msync(base_, info_->Size, MS_SYNC);
+    ::munmap(base_, info_->Size);
   }
 }
 
@@ -106,10 +106,10 @@
       else
         flags |= MAP_PRIVATE;
     }
-    size_t map_size = ((info_->sbuf_.st_size / Process::GetPageSize())+1) *
+    size_t map_size = ((info_->Size / Process::GetPageSize())+1) *
       Process::GetPageSize();
 
-    base_ = ::mmap(0, map_size, prot, flags, info_->fd_, 0);
+    base_ = ::mmap(0, map_size, prot, flags, info_->FD, 0);
     if (base_ == MAP_FAILED)
       ThrowErrno(std::string("Can't map file:") + path_.toString());
   }
@@ -118,7 +118,7 @@
 
 size_t MappedFile::size() const {
   assert(info_ && "MappedFile not initialized");
-  return info_->sbuf_.st_size;
+  return info_->Size;
 }
 
 void MappedFile::size(size_t new_size) {
@@ -128,7 +128,7 @@
   this->unmap();
 
   // Adjust the current size to a page boundary
-  size_t cur_size = ((info_->sbuf_.st_size / Process::GetPageSize())+1) *
+  size_t cur_size = ((info_->Size / Process::GetPageSize())+1) *
     Process::GetPageSize();
 
   // Adjust the new_size to a page boundary
@@ -139,8 +139,8 @@
   if (new_size > cur_size) {
     // Ensure we can allocate at least the idodes necessary to handle the
     // file size requested. 
-    ::lseek(info_->fd_, new_size, SEEK_SET);
-    ::write(info_->fd_, "\0", 1);
+    ::lseek(info_->FD, new_size, SEEK_SET);
+    ::write(info_->FD, "\0", 1);
   }
 
   // Seek to current end of file.