projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2493950
)
add some more GC roots (fixes conc048, and possibly some others)
author
Simon Marlow
<marlowsd@gmail.com>
Wed, 1 Oct 2008 16:44:27 +0000
(16:44 +0000)
committer
Simon Marlow
<marlowsd@gmail.com>
Wed, 1 Oct 2008 16:44:27 +0000
(16:44 +0000)
rts/RtsStartup.c
patch
|
blob
|
history
diff --git
a/rts/RtsStartup.c
b/rts/RtsStartup.c
index
fd84000
..
fbebdb9
100644
(file)
--- a/
rts/RtsStartup.c
+++ b/
rts/RtsStartup.c
@@
-225,11
+225,19
@@
hs_init(int *argc, char **argv[])
/* initialise the stable pointer table */
initStablePtrTable();
/* initialise the stable pointer table */
initStablePtrTable();
- /* Add some GC roots (using stable pointers): these are needed by
- * all foreign export stubs, so they have to be treated as
+ /* Add some GC roots for things in the base package that the RTS
+ * knows about. We don't know whether these turn out to be CAFs
+ * or refer to CAFs, but we have to assume that they might.
*/
getStablePtr((StgPtr)base_GHCziTopHandler_runIO_closure);
getStablePtr((StgPtr)base_GHCziTopHandler_runNonIO_closure);
*/
getStablePtr((StgPtr)base_GHCziTopHandler_runIO_closure);
getStablePtr((StgPtr)base_GHCziTopHandler_runNonIO_closure);
+ getStablePtr((StgPtr)stackOverflow_closure);
+ getStablePtr((StgPtr)heapOverflow_closure);
+ getStablePtr((StgPtr)runFinalizerBatch_closure);
+ getStablePtr((StgPtr)unpackCString_closure);
+ getStablePtr((StgPtr)blockedOnDeadMVar_closure);
+ getStablePtr((StgPtr)nonTermination_closure);
+ getStablePtr((StgPtr)blockedIndefinitely_closure);
/* initialise the shared Typeable store */
initTypeableStore();
/* initialise the shared Typeable store */
initTypeableStore();