{"push_id":895143657,"size":1,"distinct_size":1,"ref":"refs/heads/D1470","head":"d795d8054cad4dc8d121af6811db7eb1989e5d84","before":"f544df66f2722e270813b52d002d21b01bd49693","commits":[{"sha":"d795d8054cad4dc8d121af6811db7eb1989e5d84","author":{"email":"ae974205c6c2149fb64a7c1fcb5b197740aa34d5@gmail.com","name":"Sylvain HENRY"},"message":"RTS linker refactoring\n\nSummary:\nThis diff started as a simple fix for a linker issue (#9314) and ended up with this quite big refactoring to make it easier to ensure that the fix was correct in every case.\n\nTo fix the memory consumption issue in the RTS linker (#9314), we fill the mmap'ed pages as much as possible instead of allocating one page per object code section. We obtain huge memory gains (153MB -> 86KB in the test case given in trac #9314). [Startup performance may be better too because of the reduced number of mmap calls (~20k -> 470)]\n\nDuring the refactoring, I figured out that section alignment constraints were not always correctly handled (iirc, the alignment had to be correct in the object code file in the first place, which is not always the case). Now it should always be correctly handled when we load a section.\n\nTest Plan: We should test on Windows, OS X, PowerPC and ARM in addition to Linux/x86-64.\n\nReviewers: erikd, simonmar, bgamari, austin\n\nReviewed By: erikd\n\nSubscribers: trofi, kgardas, simonmar, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D1470\n\nGHC Trac Issues: #9314","distinct":true,"url":"https://api.github.com/repos/bgamari/ghc/commits/d795d8054cad4dc8d121af6811db7eb1989e5d84"}]}