summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmCon.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-08-24 11:58:43 +0100
committerSimon Marlow <marlowsd@gmail.com>2011-08-25 11:12:33 +0100
commit4ebf65abcc94647be48216b8ea616c5a8d0b1fce (patch)
tree615d8c644737ac5538913b3e702e8a0a63499d9a /compiler/codeGen/StgCmmCon.hs
parent064478933d867e43e0f29a143041edabebcddd38 (diff)
downloadhaskell-4ebf65abcc94647be48216b8ea616c5a8d0b1fce.tar.gz
eliminate ConInfo
Diffstat (limited to 'compiler/codeGen/StgCmmCon.hs')
-rw-r--r--compiler/codeGen/StgCmmCon.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/codeGen/StgCmmCon.hs b/compiler/codeGen/StgCmmCon.hs
index ee7b0be6f2..dd3c68e26e 100644
--- a/compiler/codeGen/StgCmmCon.hs
+++ b/compiler/codeGen/StgCmmCon.hs
@@ -34,7 +34,6 @@ import Module
import Constants
import DataCon
import FastString
-import IdInfo( CafInfo(..) )
import Id
import Literal
import PrelInfo
@@ -202,8 +201,10 @@ buildDynCon binder ccs con args
= do { let (tot_wds, ptr_wds, args_w_offsets)
= mkVirtConstrOffsets (addArgReps args)
-- No void args in args_w_offsets
- cl_info = mkConInfo False NoCafRefs con tot_wds ptr_wds
- ; (tmp, init) <- allocDynClosure cl_info use_cc blame_cc args_w_offsets
+ nonptr_wds = tot_wds - ptr_wds
+ info_tbl = mkDataConInfoTable con False ptr_wds nonptr_wds
+ ; (tmp, init) <- allocDynClosure info_tbl lf_info
+ use_cc blame_cc args_w_offsets
; regIdInfo binder lf_info tmp init }
where
lf_info = mkConLFInfo con