
#8158: Replace IO manager's IntMap with a mutable hash table -------------------------------+------------------------------------------- Reporter: bos | Owner: Type: feature | Status: patch request | Milestone: 7.8.1 Priority: normal | Version: 7.7 Component: | Keywords: libraries/base | Architecture: Unknown/Multiple Resolution: | Difficulty: Easy (less than 1 hour) Operating System: | Blocked By: Unknown/Multiple | Related Tickets: Type of failure: Other | Test Case: | Blocking: | -------------------------------+------------------------------------------- Comment (by hvr): Now that I think of it, the motivation might be, that decrementing/incrementing a `IORef Int` might require to allocate new `I#`s and let the previous `I#` become garbage, as `IORef Int` doesn't unpack the `Int` value. (However, if that's really the case, isn't there some kind of lightweight (unpackable) "unboxed" IORef for integers types with [https://developer.gnome.org/glib/unstable/glib-Atomic-Operations.html atomic operations] provided by GHC somewhere?) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8158#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler