diff options
Diffstat (limited to 'compiler/codeGen/StgCmmBind.hs')
-rw-r--r-- | compiler/codeGen/StgCmmBind.hs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs index aa2b954a95..004bf90c67 100644 --- a/compiler/codeGen/StgCmmBind.hs +++ b/compiler/codeGen/StgCmmBind.hs @@ -62,13 +62,12 @@ cgTopRhsClosure :: DynFlags -> RecFlag -- member of a recursive group? -> Id -> CostCentreStack -- Optional cost centre annotation - -> StgBinderInfo -> UpdateFlag -> [Id] -- Args -> StgExpr -> (CgIdInfo, FCode ()) -cgTopRhsClosure dflags rec id ccs _ upd_flag args body = +cgTopRhsClosure dflags rec id ccs upd_flag args body = let closure_label = mkLocalClosureLabel (idName id) (idCafInfo id) cg_id_info = litIdInfo dflags id lf_info (CmmLabel closure_label) lf_info = mkClosureLFInfo dflags id TopLevel [] upd_flag args @@ -207,15 +206,15 @@ cgRhs id (StgRhsCon cc con args) -- see Note [Post-unarisation invariants] in UnariseStg {- See Note [GC recovery] in compiler/codeGen/StgCmmClosure.hs -} -cgRhs id (StgRhsClosure cc bi fvs upd_flag args body) +cgRhs id (StgRhsClosure cc fvs upd_flag args body) = do dflags <- getDynFlags - mkRhsClosure dflags id cc bi (nonVoidIds fvs) upd_flag args body + mkRhsClosure dflags id cc (nonVoidIds fvs) upd_flag args body ------------------------------------------------------------------------ -- Non-constructor right hand sides ------------------------------------------------------------------------ -mkRhsClosure :: DynFlags -> Id -> CostCentreStack -> StgBinderInfo +mkRhsClosure :: DynFlags -> Id -> CostCentreStack -> [NonVoid Id] -- Free vars -> UpdateFlag -> [Id] -- Args @@ -258,7 +257,7 @@ for semi-obvious reasons. -} ---------- Note [Selectors] ------------------ -mkRhsClosure dflags bndr _cc _bi +mkRhsClosure dflags bndr _cc [NonVoid the_fv] -- Just one free var upd_flag -- Updatable thunk [] -- A thunk @@ -291,7 +290,7 @@ mkRhsClosure dflags bndr _cc _bi in cgRhsStdThunk bndr lf_info [StgVarArg the_fv] ---------- Note [Ap thunks] ------------------ -mkRhsClosure dflags bndr _cc _bi +mkRhsClosure dflags bndr _cc fvs upd_flag [] -- No args; a thunk @@ -323,7 +322,7 @@ mkRhsClosure dflags bndr _cc _bi payload = StgVarArg fun_id : args ---------- Default case ------------------ -mkRhsClosure dflags bndr cc _ fvs upd_flag args body +mkRhsClosure dflags bndr cc fvs upd_flag args body = do { let lf_info = mkClosureLFInfo dflags bndr NotTopLevel fvs upd_flag args ; (id_info, reg) <- rhsIdInfo bndr lf_info ; return (id_info, gen_code lf_info reg) } |