summaryrefslogtreecommitdiff
path: root/rts/TraverseHeap.h
diff options
context:
space:
mode:
Diffstat (limited to 'rts/TraverseHeap.h')
-rw-r--r--rts/TraverseHeap.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/rts/TraverseHeap.h b/rts/TraverseHeap.h
index cc217a8858..3855123323 100644
--- a/rts/TraverseHeap.h
+++ b/rts/TraverseHeap.h
@@ -18,12 +18,6 @@
void resetStaticObjectForProfiling(StgClosure *static_objects);
-/* See Note [Profiling heap traversal visited bit]. */
-extern StgWord flip;
-
-#define isTravDataValid(c) \
- ((((StgWord)(c)->header.prof.hp.trav & 1) ^ flip) == 0)
-
typedef struct traverseState_ traverseState;
typedef union stackData_ {
@@ -128,6 +122,10 @@ typedef bool (*visitClosure_cb) (
stackAccum *accum,
stackData *child_data);
+StgWord getTravData(const StgClosure *c);
+void setTravData(StgClosure *c, StgWord w);
+bool isTravDataValid(const StgClosure *c);
+
void traverseWorkStack(traverseState *ts, visitClosure_cb visit_cb);
void traversePushRoot(traverseState *ts, StgClosure *c, StgClosure *cp, stackData data);
bool traverseMaybeInitClosureData(StgClosure *c);