[GHC] #12622: Unboxed static pointers lead to missing SPT entries

GHC ghc-devs at haskell.org
Mon Nov 21 17:29:37 UTC 2016


#12622: Unboxed static pointers lead to missing SPT entries
-------------------------------------+-------------------------------------
        Reporter:  mboes             |                Owner:
                                     |  facundo.dominguez
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D2709
       Wiki Page:                    |  Phab:D2720
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Yes, I think that a special-purpose float pass would also be OK, and I do
 agree that it'd be nicer to localise the magic.

 I bet that almost always the ordinary float-out stuff would move
 `(makeStatic e)` to top level anyway (if not, it would be good to explain
 why not) but not having that as a guaranteed invariant would be nicer.

 But before going there, let's just check that what we have is not almost
 OK anyway:

 * You say that `FloatOut` would have go treat `makeStatic` specially, when
 not currently treat `StaticPtr` specially.  Why?

 * I'm betting that if we had a top-level binding `x = makeStatic e` then
 it would never get inlined anyway.

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


More information about the ghc-tickets mailing list