diff options
-rw-r--r-- | rts/RetainerProfile.c | 4 | ||||
-rw-r--r-- | rts/TraverseHeap.c | 8 | ||||
-rw-r--r-- | rts/TraverseHeap.h | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c index a836c5bf2a..1e23d8d856 100644 --- a/rts/RetainerProfile.c +++ b/rts/RetainerProfile.c @@ -349,9 +349,9 @@ retainRoot(void *user, StgClosure **tl) c = UNTAG_CLOSURE(*tl); traverseMaybeInitClosureData(c); if (c != &stg_END_TSO_QUEUE_closure && isRetainer(c)) { - traversePushClosure(ts, c, c, (stackData)getRetainerFrom(c)); + traversePushRoot(ts, c, c, (stackData)getRetainerFrom(c)); } else { - traversePushClosure(ts, c, c, (stackData)CCS_SYSTEM); + traversePushRoot(ts, c, c, (stackData)CCS_SYSTEM); } // NOT TRUE: ASSERT(isMember(getRetainerFrom(*tl), retainerSetOf(*tl))); diff --git a/rts/TraverseHeap.c b/rts/TraverseHeap.c index 636737aa0f..83cab200ae 100644 --- a/rts/TraverseHeap.c +++ b/rts/TraverseHeap.c @@ -345,7 +345,7 @@ pushStackElement(traverseState *ts, const stackElement se) * c - closure * data - data associated with closure. */ -inline void +STATIC_INLINE void traversePushClosure(traverseState *ts, StgClosure *c, StgClosure *cp, stackData data) { stackElement se; @@ -357,6 +357,12 @@ traversePushClosure(traverseState *ts, StgClosure *c, StgClosure *cp, stackData pushStackElement(ts, se); }; +void +traversePushRoot(traverseState *ts, StgClosure *c, StgClosure *cp, stackData data) +{ + traversePushClosure(ts, c, cp, data); +}; + /** * traversePushChildren() extracts the first child of 'c' in 'first_child' and * conceptually pushes all remaining children of 'c' onto the traversal stack diff --git a/rts/TraverseHeap.h b/rts/TraverseHeap.h index 78bcd4e8a7..5e76872fb9 100644 --- a/rts/TraverseHeap.h +++ b/rts/TraverseHeap.h @@ -106,7 +106,7 @@ typedef bool (*visitClosure_cb) ( stackData *child_data); void traverseWorkStack(traverseState *ts, visitClosure_cb visit_cb); -void traversePushClosure(traverseState *ts, StgClosure *c, StgClosure *cp, stackData data); +void traversePushRoot(traverseState *ts, StgClosure *c, StgClosure *cp, stackData data); bool traverseMaybeInitClosureData(StgClosure *c); void initializeTraverseStack(traverseState *ts); |