diff options
| author | Nicolas Frisby <nicolas.frisby@gmail.com> | 2013-04-12 15:32:54 +0100 |
|---|---|---|
| committer | Nicolas Frisby <nicolas.frisby@gmail.com> | 2013-04-12 15:32:54 +0100 |
| commit | bad5783f58b56b328a23dac6567b5d5417392358 (patch) | |
| tree | 3baa0dae24b7e1f3c02f28745ebfe235fee93cb2 /compiler/codeGen/StgCmmHeap.hs | |
| parent | 202f60a6c8c80a3a44e6c214f9ed5e8ad44c1161 (diff) | |
| download | haskell-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.hs | 14 |
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 |
