[GHC] #8275: Loopification breaks profiling

GHC ghc-devs at haskell.org
Sat Sep 21 17:34:28 CEST 2013


#8275: Loopification breaks profiling
----------------------------------------+----------------------------------
        Reporter:  jstolarek            |            Owner:
            Type:  bug                  |           Status:  new
        Priority:  high                 |        Milestone:  7.10.1
       Component:  Profiling            |          Version:  7.7
      Resolution:                       |         Keywords:
Operating System:  Unknown/Multiple     |     Architecture:
 Type of failure:  Building GHC failed  |  Unknown/Multiple
       Test Case:                       |       Difficulty:  Unknown
        Blocking:  8298                 |       Blocked By:
                                        |  Related Tickets:
----------------------------------------+----------------------------------
Changes (by ezyang):

 * priority:  highest => high
 * milestone:   => 7.10.1


Old description:

> Profiling is currently broken in HEAD. Setting `BuildFlavour = prof` in
> `build.mk` leads to a segfault during build. After reverting
> d61c3ac186c94021c851f7a2a6d20631e35fc1ba (loopification performed in the
> code generator) everything builds without problems.

New description:

 Profiling is currently broken in HEAD. Setting `BuildFlavour = prof` in
 `build.mk` leads to a segfault during build. After reverting
 d61c3ac186c94021c851f7a2a6d20631e35fc1ba (loopification performed in the
 code generator) everything builds without problems.

 I am going to lower the priority since loopification is now no longer by
 default, and it looks like loopification by default will not make it to
 GHC 7.8.

--

Comment:

 > We want the loop to begin after the stack check but before the heap
 check. Now if LDV code is placed before the stack check then of course
 this requirement cannot be fulfilled.

 One way to deal with this, at the cost of increased code size, is to place
 a second copy of the LDV code in the function epilogue right before the
 loopification jump back.

 However, it might be OK to move the LDV check after the stack/heap checks.
 Simon Marlow might be able to better say.

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



More information about the ghc-tickets mailing list