<div dir="ltr">Same change probably needs to be made to COFF/InputFiles.h:111</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 2, 2015 at 9:07 AM, Rafael Espindola via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rafael<br>
Date: Wed Sep  2 11:07:11 2015<br>
New Revision: 246662<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=246662&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=246662&view=rev</a><br>
Log:<br>
Remove an allocator which was used for just one allocation.<br>
<br>
Modified:<br>
    lld/trunk/COFF/InputFiles.cpp<br>
    lld/trunk/COFF/InputFiles.h<br>
    lld/trunk/COFF/SymbolTable.cpp<br>
<br>
Modified: lld/trunk/COFF/InputFiles.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=246662&r1=246661&r2=246662&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=246662&r1=246661&r2=246662&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/InputFiles.cpp (original)<br>
+++ lld/trunk/COFF/InputFiles.cpp Wed Sep  2 11:07:11 2015<br>
@@ -58,13 +58,11 @@ void ArchiveFile::parse() {<br>
<br>
   // Allocate a buffer for Lazy objects.<br>
   size_t NumSyms = File->getNumberOfSymbols();<br>
-  size_t BufSize = NumSyms * sizeof(Lazy);<br>
-  Lazy *Buf = (Lazy *)Alloc.Allocate(BufSize, llvm::alignOf<Lazy>());<br>
   LazySymbols.reserve(NumSyms);<br>
<br>
   // Read the symbol table to construct Lazy objects.<br>
   for (const Archive::Symbol &Sym : File->symbols())<br>
-    LazySymbols.push_back(new (Buf++) Lazy(this, Sym));<br>
+    LazySymbols.emplace_back(this, Sym);<br>
<br>
   // Seen is a map from member files to boolean values. Initially<br>
   // all members are mapped to false, which indicates all these files<br>
<br>
Modified: lld/trunk/COFF/InputFiles.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.h?rev=246662&r1=246661&r2=246662&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.h?rev=246662&r1=246661&r2=246662&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/InputFiles.h (original)<br>
+++ lld/trunk/COFF/InputFiles.h Wed Sep  2 11:07:11 2015<br>
@@ -98,7 +98,7 @@ public:<br>
   // (So that we don't instantiate same members more than once.)<br>
   MemoryBufferRef getMember(const Archive::Symbol *Sym);<br>
<br>
-  std::vector<Lazy *> &getLazySymbols() { return LazySymbols; }<br>
+  llvm::MutableArrayRef<Lazy> getLazySymbols() { return LazySymbols; }<br>
<br>
   // All symbols returned by ArchiveFiles are of Lazy type.<br>
   std::vector<SymbolBody *> &getSymbols() override {<br>
@@ -108,9 +108,8 @@ public:<br>
 private:<br>
   std::unique_ptr<Archive> File;<br>
   std::string Filename;<br>
-  std::vector<Lazy *> LazySymbols;<br>
+  std::vector<Lazy> LazySymbols;<br>
   std::map<uint64_t, std::atomic_flag> Seen;<br>
-  llvm::MallocAllocator Alloc;<br>
 };<br>
<br>
 // .obj or .o file. This may be a member of an archive file.<br>
<br>
Modified: lld/trunk/COFF/SymbolTable.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=246662&r1=246661&r2=246662&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=246662&r1=246661&r2=246662&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/SymbolTable.cpp (original)<br>
+++ lld/trunk/COFF/SymbolTable.cpp Wed Sep  2 11:07:11 2015<br>
@@ -63,8 +63,8 @@ void SymbolTable::readArchives() {<br>
     if (Config->Verbose)<br>
       llvm::outs() << "Reading " << File->getShortName() << "\n";<br>
     File->parse();<br>
-    for (Lazy *Sym : File->getLazySymbols())<br>
-      addLazy(Sym, &LazySyms);<br>
+    for (Lazy &Sym : File->getLazySymbols())<br>
+      addLazy(&Sym, &LazySyms);<br>
   }<br>
   ArchiveQueue.clear();<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>