[GHC] #14880: GHC panic: updateRole

GHC ghc-devs at haskell.org
Thu Jul 26 10:50:33 UTC 2018


#14880: GHC panic: updateRole
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  goldfire
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler (Type    |              Version:  8.2.2
  checker)                           |
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #15076            |  Differential Rev(s):  Phab:D4769
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 > Can you remember whether that situation involved raw VarSets, or FVs?

 The old code for `tyCoFVsOfType` looked like
 {{{
 fvs_of_type (AppTy fun arg)    a b c = (fvs_of_type fun `unionFV`
 fvs_of_type arg) a b c
 }}}
 I believe that if you eta reduce this to
 {{{
 fvs_of_type (AppTy fun arg) = (fvs_of_type fun `unionFV` fvs_of_type arg)
 }}}
 it runs a lot slower.  That should not happen, but I recall that it did.
 I don't understand what you mean about "avoiding hitting the underlying
 `IntSet` entirely".

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14880#comment:60>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list