summaryrefslogtreecommitdiff
path: root/rts/RetainerProfile.c
diff options
context:
space:
mode:
authorDaniel Gröber <dxld@darkboxed.org>2019-07-16 13:49:16 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-02-17 11:21:10 -0500
commitd7bbaf5d45fd7b88ce331659abe29d16d086684b (patch)
tree9e3dd30895822ba3f01972008d6313803d6852aa /rts/RetainerProfile.c
parenteecdb0531d98d59d5734828356e65f0d4b9b2977 (diff)
downloadhaskell-d7bbaf5d45fd7b88ce331659abe29d16d086684b.tar.gz
rts: TraverseHeap: Make trav. data macros into functions
This allows the global 'flip' variable not to be exported. This allows a future commit to also make it part of the traversalState struct.
Diffstat (limited to 'rts/RetainerProfile.c')
-rw-r--r--rts/RetainerProfile.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c
index a996e8d2e2..7222bed0ad 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -251,7 +251,14 @@ associate( StgClosure *c, RetainerSet *s )
{
// StgWord has the same size as pointers, so the following type
// casting is okay.
- RSET(c) = ((StgWord)s | flip);
+ setTravData(c, (StgWord)s);
+}
+
+inline RetainerSet*
+retainerSetOf( const StgClosure *c )
+{
+ ASSERT(isTravDataValid(c));
+ return (RetainerSet*)getTravData(c);
}
static bool