
#14677: Code generator does not correctly tag a pointer -------------------------------------+------------------------------------- Reporter: simonpj | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: 14626 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by heisenbug): Okay, I got it working. I now simply exclude casted constructors (by looking at the unfolding template), as they seem to be implemented by IND_STATIC. (They should not, rather they could be simply alias labels?) Thus those won't get tagged closure pointers, and will be entered as before. There are 66 cases where this pessimisation is triggered in GHC, so I guess this is a low price to pay. All of those are related to the `Int -> Event` casting. Here is my fix: https://github.com/ghc/ghc/commit/eef0c057551ef860c1ace2e1c7509bcdc3c8eb91 Simon, any idea how to do this better? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14677#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler