From 39f2878c587927c5bb69f7ab26b5d09fb3cf2cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Tue, 16 Jul 2019 15:59:34 +0200 Subject: rts: retainer: Move actual 'flip' bit flip to generic traversal code --- rts/RetainerProfile.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'rts') diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c index 32ea5493a7..7e169260d0 100644 --- a/rts/RetainerProfile.c +++ b/rts/RetainerProfile.c @@ -1450,6 +1450,9 @@ traverseWorkStack(traverseState *ts, visitClosure_cb visit_cb) stackData data, child_data; StgWord typeOfc; + // Now we flip the flip bit. + flip = flip ^ 1; + // c = Current closure (possibly tagged) // cp = Current closure's Parent (NOT tagged) // data = current closures' associated data (NOT tagged) @@ -1696,6 +1699,8 @@ computeRetainerSet( traverseState *ts ) // Remember old stable name addresses. rememberOldStableNameAddresses (); + + // TODO: Move this code to traverseWorkStack // The following code resets the rs field of each unvisited mutable // object. for (g = 0; g < RtsFlags.GcFlags.generations; g++) { @@ -1796,9 +1801,6 @@ retainerProfile(void) { stat_startRP(); - // Now we flips flip. - flip = flip ^ 1; - numObjectVisited = 0; timesAnyObjectVisited = 0; -- cgit v1.2.1