[GHC] #15560: Full laziness destroys opportunities for join points

GHC ghc-devs at haskell.org
Fri Aug 24 09:56:58 UTC 2018


#15560: Full laziness destroys opportunities for join points
-------------------------------------+-------------------------------------
        Reporter:  AndreasK          |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.4.3
  (CodeGen)                          |
      Resolution:                    |             Keywords:  JoinPoints
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #14287            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 > Turning them into a top level binding means the calling convention
 changes into the same that is used with regular functions. So we have the
 overhead of register saving, stack checks, layout penalty, the works

 Can you be more specific. I think that the jumps to the join points will
 turn into jumps to the top-level function code, no arity checks nothing.
 You could look at the code and see, but I think it'll be no less
 efficient.

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


More information about the ghc-tickets mailing list