[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