[commit: ghc] ghc-8.2: rts/RetainerProfile: Const-correctness fixes (94af73b)

git at git.haskell.org git at git.haskell.org
Fri Jun 30 02:26:26 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.2
Link       : http://ghc.haskell.org/trac/ghc/changeset/94af73ba7d0746ece4ecafca04e4b0a0cf767d31/ghc

>---------------------------------------------------------------

commit 94af73ba7d0746ece4ecafca04e4b0a0cf767d31
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Thu Jun 29 19:39:28 2017 -0400

    rts/RetainerProfile: Const-correctness fixes
    
    These were found while using Hadrian, which apparently uses slightly
    stricter warning flags than the make-based build system.
    
    Test Plan: Validate
    
    Reviewers: austin, erikd, simonmar
    
    Reviewed By: erikd
    
    Subscribers: rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3679
    
    (cherry picked from commit 9b514dedf090c5e21e3be38d174cf1390e21879f)


>---------------------------------------------------------------

94af73ba7d0746ece4ecafca04e4b0a0cf767d31
 rts/RetainerProfile.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c
index 9012937..7253233 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -322,7 +322,7 @@ find_ptrs( stackPos *info )
  *  Initializes *info from SRT information stored in *infoTable.
  * -------------------------------------------------------------------------- */
 static INLINE void
-init_srt_fun( stackPos *info, StgFunInfoTable *infoTable )
+init_srt_fun( stackPos *info, const StgFunInfoTable *infoTable )
 {
     if (infoTable->i.srt_bitmap == (StgHalfWord)(-1)) {
         info->type = posTypeLargeSRT;
@@ -336,7 +336,7 @@ init_srt_fun( stackPos *info, StgFunInfoTable *infoTable )
 }
 
 static INLINE void
-init_srt_thunk( stackPos *info, StgThunkInfoTable *infoTable )
+init_srt_thunk( stackPos *info, const StgThunkInfoTable *infoTable )
 {
     if (infoTable->i.srt_bitmap == (StgHalfWord)(-1)) {
         info->type = posTypeLargeSRT;
@@ -1279,7 +1279,7 @@ retainStack( StgClosure *c, retainer c_child_r,
 {
     stackElement *oldStackBoundary;
     StgPtr p;
-    StgRetInfoTable *info;
+    const StgRetInfoTable *info;
     StgWord bitmap;
     uint32_t size;
 
@@ -1355,7 +1355,7 @@ retainStack( StgClosure *c, retainer c_child_r,
 
         case RET_FUN: {
             StgRetFun *ret_fun = (StgRetFun *)p;
-            StgFunInfoTable *fun_info;
+            const StgFunInfoTable *fun_info;
 
             retainClosure(ret_fun->fun, c, c_child_r);
             fun_info = get_fun_itbl(UNTAG_CONST_CLOSURE(ret_fun->fun));
@@ -1411,7 +1411,7 @@ retain_PAP_payload (StgClosure *pap,    /* NOT tagged */
 {
     StgPtr p;
     StgWord bitmap;
-    StgFunInfoTable *fun_info;
+    const StgFunInfoTable *fun_info;
 
     retainClosure(fun, pap, c_child_r);
     fun = UNTAG_CLOSURE(fun);
@@ -1669,10 +1669,10 @@ inner_loop:
     {
         StgTSO *tso = (StgTSO *)c;
 
-        retainClosure(tso->stackobj,           c, c_child_r);
-        retainClosure(tso->blocked_exceptions, c, c_child_r);
-        retainClosure(tso->bq,                 c, c_child_r);
-        retainClosure(tso->trec,               c, c_child_r);
+        retainClosure((StgClosure*) tso->stackobj,           c, c_child_r);
+        retainClosure((StgClosure*) tso->blocked_exceptions, c, c_child_r);
+        retainClosure((StgClosure*) tso->bq,                 c, c_child_r);
+        retainClosure((StgClosure*) tso->trec,               c, c_child_r);
         if (   tso->why_blocked == BlockedOnMVar
                || tso->why_blocked == BlockedOnMVarRead
                || tso->why_blocked == BlockedOnBlackHole



More information about the ghc-commits mailing list