summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorTakano Akio <aljee@hyper.cx>2013-03-11 18:51:05 +0900
committerIan Lynagh <ian@well-typed.com>2013-06-15 16:41:02 +0100
commitfe652a8b56c864167ecf1fac899bb3d99363dfcf (patch)
tree888acad55c4cc1a9eee790f0c5404feed34c5fec /includes
parent6770663f764db76dbb7138ccb3aea0527d194151 (diff)
downloadhaskell-fe652a8b56c864167ecf1fac899bb3d99363dfcf.tar.gz
Maintain per-generation lists of weak pointers (#7847)
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/storage/GC.h3
-rw-r--r--includes/stg/MiscClosures.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/includes/rts/storage/GC.h b/includes/rts/storage/GC.h
index 6ddd301c41..fb5e21e832 100644
--- a/includes/rts/storage/GC.h
+++ b/includes/rts/storage/GC.h
@@ -83,6 +83,8 @@ typedef struct generation_ {
StgTSO * threads; // threads in this gen
// linked via global_link
+ StgWeak * weak_ptr_list; // weak pointers in this gen
+
struct generation_ *to; // destination gen for live objects
// stats information
@@ -116,6 +118,7 @@ typedef struct generation_ {
bdescr * bitmap; // bitmap for compacting collection
StgTSO * old_threads;
+ StgWeak * old_weak_ptr_list;
} generation;
extern generation * generations;
diff --git a/includes/stg/MiscClosures.h b/includes/stg/MiscClosures.h
index db0a32eb67..ca5280f188 100644
--- a/includes/stg/MiscClosures.h
+++ b/includes/stg/MiscClosures.h
@@ -465,7 +465,6 @@ extern StgWord stg_stack_save_entries[];
// Storage.c
extern unsigned int RTS_VAR(g0);
extern unsigned int RTS_VAR(large_alloc_lim);
-extern StgWord RTS_VAR(weak_ptr_list);
extern StgWord RTS_VAR(atomic_modify_mutvar_mutex);
// RtsFlags