[GHC] #8272: testing if SpLim=$rbp and Sp=$rsp changed performance at all

GHC ghc-devs at haskell.org
Sun Jun 4 13:23:54 UTC 2017


#8272: testing if SpLim=$rbp and Sp=$rsp changed performance at all
-------------------------------------+-------------------------------------
        Reporter:  carter            |                Owner:  carter
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.7
      Resolution:                    |             Keywords:
                                     |  callingConvention
Operating System:  Unknown/Multiple  |         Architecture:  x86_64
 Type of failure:  Runtime           |  (amd64)
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by michalt):

 @simonmar: When you say "terrible time walking the stack", you mean
 GC, right?

 I've did some more googling and also found [1] which describes some of
 the differences between the Haskell and C stacks (eg, the Haskell one
 is heap allocated and easy to grow, the C one is per capability, etc.)
 I agree - all of this makes it sound that if we want call/ret, we do
 need (1).

 Also I still don't really see how we could use `%rsp` in LLVM backend
 without pretty large changes (eg, using its stackmaps/safepoints).

 I have to admit that I'm also less enthusiastic about the whole idea
 after looking into it a bit.


 [1]
 https://www.reddit.com/r/haskell/comments/1wm9n4/question_about_stacks_in_haskell_and_rust/cf3vfeq/

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


More information about the ghc-tickets mailing list