summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/Weak/Finalize.hs
Commit message (Collapse)AuthorAgeFilesLines
* base: Share finalization thread labelBen Gamari2022-08-061-2/+10
| | | | | | For efficiency's sake we float the thread label assigned to the finalization thread to the top-level, ensuring that we only need to encode the label once.
* rts: Move thread labels into TSOBen Gamari2022-08-061-1/+4
| | | | | | | This eliminates the thread label HashTable and instead tracks this information in the TSO, allowing us to use proper StgArrBytes arrays for backing the label and greatly simplifying management of object lifetimes when we expose them to the user with the coming `threadLabel#` primop.
* base: Throw exceptions raised while closing finalized HandlesBen Gamari2022-05-191-0/+2
| | | | Fixes #21336.
* base: Introduce [sg]etFinalizerExceptionHandlerBen Gamari2022-05-191-0/+68
This introduces a global hook which is called when an exception is thrown during finalization.