llvm-capstone/lld/COFF
Reid Kleckner a431dd7ae7 [COFF] De-virtualize Chunk and SectionChunk
Shaves another pointer off of SectionChunk, reducing the size from 96 to
88 bytes, down from 144 before I started working on this. Combined with
D62356, this reduced peak memory usage when linking chrome_child.dll
from 713MB to 675MB, or 5%.

Create NonSectionChunk to provide virtual dispatch to the rest of the
chunk types.

Reviewers: ruiu, aganea

Differential Revision: https://reviews.llvm.org/D62362

llvm-svn: 361667
2019-05-24 20:25:40 +00:00
..
Chunks.cpp [COFF] De-virtualize Chunk and SectionChunk 2019-05-24 20:25:40 +00:00
Chunks.h [COFF] De-virtualize Chunk and SectionChunk 2019-05-24 20:25:40 +00:00
CMakeLists.txt [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Config.h [LLD][COFF] Implement /filealign parameter 2019-05-24 12:42:36 +00:00
DebugTypes.cpp [NFC][LLD] Specify namespaces explicity to fix build failure on GCC 5 after r357383 2019-04-01 19:23:56 +00:00
DebugTypes.h [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
DLL.cpp [COFF] De-virtualize Chunk and SectionChunk 2019-05-24 20:25:40 +00:00
DLL.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Driver.cpp [LLD][COFF] Implement /filealign parameter 2019-05-24 12:42:36 +00:00
Driver.h lld-link: Implement /swaprun: flag 2019-04-25 14:02:26 +00:00
DriverUtils.cpp lld-link, clang: Treat non-existent input files as possible spellos for option flags 2019-05-23 17:58:33 +00:00
ICF.cpp Re-land r361206 "[COFF] Store alignment in log2 form, NFC" 2019-05-22 20:21:52 +00:00
ICF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
InputFiles.h [LLD][COFF] use offset in archive to disambiguate archive members 2019-04-15 19:48:32 +00:00
LTO.cpp Fix names of functions in TargetOptionsCommandFlags.h. NFC. 2019-02-01 02:24:50 +00:00
LTO.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MapFile.cpp Re-land r361206 "[COFF] Store alignment in log2 form, NFC" 2019-05-22 20:21:52 +00:00
MapFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.cpp [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
MarkLive.h [COFF] Delete unused declarations and add a missing forward declaration. NFC 2019-03-15 09:40:03 +00:00
MinGW.cpp Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
MinGW.h Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
Options.td [LLD][COFF] Implement /filealign parameter 2019-05-24 12:42:36 +00:00
PDB.cpp [COFF] Replace OutputSection* with uint16_t index in Chunk 2019-05-24 18:25:49 +00:00
PDB.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
README.md
Symbols.cpp [COFF] Pack Name in Symbol as is done in ELF 2019-04-19 22:51:49 +00:00
Symbols.h [COFF] Pack Name in Symbol as is done in ELF 2019-04-19 22:51:49 +00:00
SymbolTable.cpp Shrink SectionChunk by combining Relocs and SectionName sizes 2019-05-03 20:17:14 +00:00
SymbolTable.h lld/coff: Implement some support for the comdat selection field 2019-01-30 02:17:27 +00:00
TypeMerger.h [LLD][COFF] Move type merging structures out of PDB.cpp. NFC 2019-04-02 20:43:19 +00:00
Writer.cpp [COFF] De-virtualize Chunk and SectionChunk 2019-05-24 20:25:40 +00:00
Writer.h [LLD][COFF] Generate import modules & COFF groups in PDB 2019-03-29 20:25:34 +00:00

See docs/NewLLD.rst