[commit: ghc] wip/T10613: Temporarily move regular entry counting to the COUNTING_IND (7564755)

git at git.haskell.org git at git.haskell.org
Wed Apr 27 15:34:00 UTC 2016


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

On branch  : wip/T10613
Link       : http://ghc.haskell.org/trac/ghc/changeset/7564755400092321cc6386defe83d9a1db74823e/ghc

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

commit 7564755400092321cc6386defe83d9a1db74823e
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Wed Mar 23 14:28:34 2016 +0100

    Temporarily move regular entry counting to the COUNTING_IND


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

7564755400092321cc6386defe83d9a1db74823e
 compiler/codeGen/StgCmmBind.hs | 8 ++++++--
 rts/StgMiscClosures.cmm        | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs
index 5951175..8672273 100644
--- a/compiler/codeGen/StgCmmBind.hs
+++ b/compiler/codeGen/StgCmmBind.hs
@@ -609,9 +609,13 @@ thunkCode cl_info fv_details _cc node arity body
 
         -- Heap overflow check
         ; entryHeapCheck cl_info node' arity [] $ do
-        { -- Overwrite with black hole if necessary
+        {
+         -- Disabled for now, as we (temporarily unconditionally) move the
+         -- counting to the counting indirection
+         -- tickyEnterThunk cl_info
+
+          -- Overwrite with black hole if necessary
           -- but *after* the heap-overflow check
-        ; tickyEnterThunk cl_info
         ; when (blackHoleOnEntry cl_info && node_points)
                 (blackHoleIt node)
 
diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm
index 96b95aa..0f27fdb 100644
--- a/rts/StgMiscClosures.cmm
+++ b/rts/StgMiscClosures.cmm
@@ -283,6 +283,7 @@ INFO_TABLE(stg_COUNTING_IND,1,2,COUNTING_IND,"COUNTING_IND","COUNTING_IND")
         StgEntCounter_multi_entry_count(ent_ctr)  = StgEntCounter_multi_entry_count(ent_ctr) + 1;
     }
     StgCountingInd_entries(clos) = entries + 1;
+    StgEntCounter_entry_count(ent_ctr) = StgEntCounter_entry_count(ent_ctr) + 1;
 
 #if defined(TICKY_TICKY) && !defined(PROFILING)
     /* TICKY_TICKY && !PROFILING means PERM_IND *replaces* an IND, rather than



More information about the ghc-commits mailing list