[GHC] #8039: RTS linker: unloadObj() does not actually unload the code

GHC ghc-devs at haskell.org
Thu Aug 22 10:35:34 UTC 2013


#8039: RTS linker: unloadObj() does not actually unload the code
-------------------------------------+------------------------------------
        Reporter:  simonmar          |            Owner:  simonmar
            Type:  task              |           Status:  new
        Priority:  high              |        Milestone:  7.8.1
       Component:  Runtime System    |          Version:  7.6.3
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by Simon Marlow <marlowsd@…>):

 In [changeset:bdfefb3b72a71cd0afca6e7766456c0d97c47c86/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="bdfefb3b72a71cd0afca6e7766456c0d97c47c86"
 Really unload object code when it is safe to do so (#8039)

 The next major GC after an unloadObj() will do a traversal of the heap
 to determine whether the object code can be removed from memory or
 not.  We'll keep doing these until it is safe to remove the object
 code.

 In my experiments with GHCi, the objects get unloaded immediately,
 which is a good sign: we're not accidentally holding on to any
 references anywhere in the GHC data structures.

 Changes relative to the patch earlier posted on the ticket:
  - fix two memory leaks discovered with Valgrind, after
    testing with tests/rts/linker_unload.c
 }}}

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




More information about the ghc-tickets mailing list