Typos in comments [ci skip]
[ghc.git] / rts / RetainerProfile.h
index 827daa8..180c4e2 100644 (file)
 
 #include "RetainerSet.h"
 
-extern void  initRetainerProfiling ( void );
-extern void  endRetainerProfiling  ( void );
-extern void  printRetainer         ( FILE *, retainer );
-extern void  retainerProfile       ( void );
-extern void  resetStaticObjectForRetainerProfiling ( void );
+#include "BeginPrivate.h"
 
-extern StgWord RTS_VAR(flip);
+void initRetainerProfiling ( void );
+void endRetainerProfiling  ( void );
+void retainerProfile       ( void );
+void resetStaticObjectForRetainerProfiling( StgClosure *static_objects );
+
+// flip is either 1 or 0, changed at the beginning of retainerProfile()
+// It is used to tell whether a retainer set has been touched so far
+// during this pass.
+extern StgWord flip;
 
 // extract the retainer set field from c
 #define RSET(c)   ((c)->header.prof.hp.rs)
@@ -29,7 +33,7 @@ extern StgWord RTS_VAR(flip);
   ((((StgWord)(c)->header.prof.hp.rs & 1) ^ flip) == 0)
 
 static inline RetainerSet *
-retainerSetOf( StgClosure *c )
+retainerSetOf( const StgClosure *c )
 {
     ASSERT( isRetainerSetFieldValid(c) );
     // StgWord has the same size as pointers, so the following type
@@ -39,9 +43,11 @@ retainerSetOf( StgClosure *c )
 
 // Used by Storage.c:memInventory()
 #ifdef DEBUG
-extern lnat retainerStackBlocks ( void );
+extern W_ retainerStackBlocks ( void );
 #endif
 
+#include "EndPrivate.h"
+
 #endif /* PROFILING */
 
 #endif /* RETAINERPROFILE_H */