Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
38716 commits behind, 1 commit ahead of the upstream repository.
  • Ben Gamari's avatar
    db9e443a
    rts: Allow ExecPage to allocate anywhere in address space · db9e443a
    Ben Gamari authored and Andreas Klebinger's avatar Andreas Klebinger committed
    Currently the ExecPage facility has two users:
    
     * GHCi, for constructing info tables, and
     * the adjustor allocation path
    
    Despite neither of these have any spatial locality constraints ExecPage
    was using the linker's `mmapAnonForLinker`, which tries hard to ensure
    that mappings end up nearby the executable image. This makes adjustor
    allocation needlessly subject to fragmentation concerns.
    
    We now instead return less constrained mappings, improving the
    robustness of the mechanism.
    
    Addresses #25503.
    
    (cherry picked from commit a104508d)
    db9e443a
    History
    rts: Allow ExecPage to allocate anywhere in address space
    Ben Gamari authored and Andreas Klebinger's avatar Andreas Klebinger committed
    Currently the ExecPage facility has two users:
    
     * GHCi, for constructing info tables, and
     * the adjustor allocation path
    
    Despite neither of these have any spatial locality constraints ExecPage
    was using the linker's `mmapAnonForLinker`, which tries hard to ensure
    that mappings end up nearby the executable image. This makes adjustor
    allocation needlessly subject to fragmentation concerns.
    
    We now instead return less constrained mappings, improving the
    robustness of the mechanism.
    
    Addresses #25503.
    
    (cherry picked from commit a104508d)
Code owners
Assign users and groups as approvers for specific file changes. Learn more.