[GHC] #9279: Local wrapper function remains in final program; result = extra closure allocation
GHC
ghc-devs at haskell.org
Mon Sep 10 11:01:16 UTC 2018
#9279: Local wrapper function remains in final program; result = extra closure
allocation
-------------------------------------+-------------------------------------
Reporter: simonmar | Owner: simonpj
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Resolution: | Keywords: LateLamLift
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by sgraf):
The absent case in WWLib.hs requires that we can `mk_absent_let` for that
particular type. For the 3 absent parameters here are of type `MutVar# s
a`, `MutVar# s a` and `TVar# s a`.
We ''could'' extend `Literal.absentLiteralOf` for these unlifted, boxed
cases simply by returning (the equivalent of) NULL. Alternatively, we
could make sure that we don't unpack these things in the first place: If
we had taken lifted `MutVar`s/`TVar`s, `mk_absent_let` would successfully
conjure a lifted let binding with an absent error (so I'd say).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9279#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list