Use fewer allocators.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 27 Oct 2016 13:32:32 +0000 (13:32 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 27 Oct 2016 13:32:32 +0000 (13:32 +0000)
commita8631e3887698583e5bd0f118921571dd92757b1
treef9de4b6b03193622ce9ed2da43e5d11aeb3fe242
parentba5032c9cf876e08eb5d6eac37c34f93ba16e1b3
Use fewer allocators.

Instead of having 3 section allocators per file, have 3 for all files.

This is a substantial performance improvement for some cases. Linking
chromium without gc speeds up by 1.065x.

This requires using _exit in fatal since we have to avoid destructing
an InputSection if fatal is called from the constructor.

Thanks to Rui for the suggestion.

llvm-svn: 285290
lld/ELF/Error.cpp
lld/ELF/Error.h
lld/ELF/InputFiles.cpp
lld/ELF/InputFiles.h
lld/ELF/Writer.cpp