Forked from
Glasgow Haskell Compiler / GHC
31841 commits behind, 272 commits ahead of the upstream repository.
-
Simon Marlow authored
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
Simon Marlow authoredThe 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
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CheckUnload.h 517 B
/* ----------------------------------------------------------------------------
*
* (c) The GHC Team, 2013-
*
* Check whether dynamically-loaded object code can be safely
* unloaded, by searching for references to it from the heap and RTS
* data structures.
*
* --------------------------------------------------------------------------*/
#ifndef CHECKUNLOAD_H
#define CHECKUNLOAD_H
#include "BeginPrivate.h"
void checkUnload (StgClosure *static_objects);
#include "EndPrivate.h"
#endif // CHECKUNLOAD_H