summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmHeap.hs
diff options
context:
space:
mode:
authorNicolas Frisby <nicolas.frisby@gmail.com>2013-04-12 15:32:54 +0100
committerNicolas Frisby <nicolas.frisby@gmail.com>2013-04-12 15:32:54 +0100
commitbad5783f58b56b328a23dac6567b5d5417392358 (patch)
tree3baa0dae24b7e1f3c02f28745ebfe235fee93cb2 /compiler/codeGen/StgCmmHeap.hs
parent202f60a6c8c80a3a44e6c214f9ed5e8ad44c1161 (diff)
downloadhaskell-bad5783f58b56b328a23dac6567b5d5417392358.tar.gz
Revert "extended ticky to also track "let"s that are not closures"
This reverts commit 024df664b600a622cb8189ccf31789688505fc1c. Of course I gaff on my last day...
Diffstat (limited to 'compiler/codeGen/StgCmmHeap.hs')
-rw-r--r--compiler/codeGen/StgCmmHeap.hs14
1 files changed, 6 insertions, 8 deletions
diff --git a/compiler/codeGen/StgCmmHeap.hs b/compiler/codeGen/StgCmmHeap.hs
index b8962cedb4..0a817030e5 100644
--- a/compiler/codeGen/StgCmmHeap.hs
+++ b/compiler/codeGen/StgCmmHeap.hs
@@ -42,7 +42,6 @@ import Cmm
import CmmUtils
import CostCentre
import IdInfo( CafInfo(..), mayHaveCafRefs )
-import Id ( Id )
import Module
import DynFlags
import FastString( mkFastString, fsLit )
@@ -55,8 +54,7 @@ import Data.Maybe (isJust)
-----------------------------------------------------------
allocDynClosure
- :: Maybe Id
- -> CmmInfoTable
+ :: CmmInfoTable
-> LambdaFormInfo
-> CmmExpr -- Cost Centre to stick in the object
-> CmmExpr -- Cost Centre to blame for this alloc
@@ -68,7 +66,7 @@ allocDynClosure
-> FCode CmmExpr -- returns Hp+n
allocDynClosureCmm
- :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr
+ :: CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr
-> [(CmmExpr, VirtualHpOffset)]
-> FCode CmmExpr -- returns Hp+n
@@ -90,19 +88,19 @@ allocDynClosureCmm
-- significant - see test T4801.
-allocDynClosure mb_id info_tbl lf_info use_cc _blame_cc args_w_offsets
+allocDynClosure info_tbl lf_info use_cc _blame_cc args_w_offsets
= do { let (args, offsets) = unzip args_w_offsets
; cmm_args <- mapM getArgAmode args -- No void args
- ; allocDynClosureCmm mb_id info_tbl lf_info
+ ; allocDynClosureCmm info_tbl lf_info
use_cc _blame_cc (zip cmm_args offsets)
}
-allocDynClosureCmm mb_id info_tbl lf_info use_cc _blame_cc amodes_w_offsets
+allocDynClosureCmm info_tbl lf_info use_cc _blame_cc amodes_w_offsets
= do { virt_hp <- getVirtHp
-- SAY WHAT WE ARE ABOUT TO DO
; let rep = cit_rep info_tbl
- ; tickyDynAlloc mb_id rep lf_info
+ ; tickyDynAlloc (toRednCountsLbl $ cit_lbl info_tbl) rep lf_info
; profDynAlloc rep use_cc
-- FIND THE OFFSET OF THE INFO-PTR WORD