[PATCH] D63453: [Support] Move llvm::MemoryBuffer to sys::fs::file_t

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 11:51:29 PDT 2019


rnk created this revision.
rnk added reviewers: aganea, Bigcheese.
Herald added subscribers: dang, dexonsmith, steven_wu, hiraditya, mehdi_amini.
Herald added a project: LLVM.

On Windows, Posix integer file descriptors are a compatibility layer
over native file handles provided by the C runtime. There is a hard
limit on the maximum number of file descriptors that a process can open,
and the limit is 8192. LLD typically doesn't run into this limit because
it opens input files, maps them into memory, and then immediately closes
the file descriptor. This prevents it from running out of FDs.

For various reasons, I'd like to open handles to every input file and
keep them open during linking. That requires migrating MemoryBuffer over
to taking open native file handles instead of integer FDs.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D63453

Files:
  llvm/include/llvm/Support/FileSystem.h
  llvm/include/llvm/Support/MemoryBuffer.h
  llvm/lib/LTO/Caching.cpp
  llvm/lib/LTO/LTOModule.cpp
  llvm/lib/LTO/ThinLTOCodeGenerator.cpp
  llvm/lib/Object/ArchiveWriter.cpp
  llvm/lib/Support/FileOutputBuffer.cpp
  llvm/lib/Support/MemoryBuffer.cpp
  llvm/lib/Support/Unix/Path.inc
  llvm/lib/Support/VirtualFileSystem.cpp
  llvm/lib/Support/Windows/Path.inc
  llvm/lib/XRay/InstrumentationMap.cpp
  llvm/lib/XRay/Profile.cpp
  llvm/lib/XRay/Trace.cpp
  llvm/tools/llvm-xray/xray-fdr-dump.cpp
  llvm/unittests/Support/MemoryBufferTest.cpp
  llvm/unittests/Support/Path.cpp
  llvm/unittests/Support/ReplaceFileTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63453.205143.patch
Type: text/x-patch
Size: 31868 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190617/d65c0c58/attachment.bin>


More information about the llvm-commits mailing list