Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
6481 commits behind the upstream repository.
  • Ben Gamari's avatar
    b500867a
    nonmoving: Move current segment array into Capability · b500867a
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    The current segments are conceptually owned by the mutator, not the
    collector. Consequently, it was quite tricky to prove that the mutator
    would not race with the collect due to this shared state. It turns out
    that such races are possible: when resizing the current segment array
    we may concurrently try to take a heap census. This will attempt to walk
    the current segment array, causing a data race.
    
    Fix this by moving the current segment array into `Capability`, where it
    belongs.
    
    Fixes #22926.
    b500867a
    History
    nonmoving: Move current segment array into Capability
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    The current segments are conceptually owned by the mutator, not the
    collector. Consequently, it was quite tricky to prove that the mutator
    would not race with the collect due to this shared state. It turns out
    that such races are possible: when resizing the current segment array
    we may concurrently try to take a heap census. This will attempt to walk
    the current segment array, causing a data race.
    
    Fix this by moving the current segment array into `Capability`, where it
    belongs.
    
    Fixes #22926.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Capability.h 17.06 KiB