diff options
Diffstat (limited to 'compiler/codeGen/CgCon.lhs')
-rw-r--r-- | compiler/codeGen/CgCon.lhs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/codeGen/CgCon.lhs b/compiler/codeGen/CgCon.lhs index 86e6ff8589..15347de060 100644 --- a/compiler/codeGen/CgCon.lhs +++ b/compiler/codeGen/CgCon.lhs @@ -323,7 +323,7 @@ cgReturnDataCon con amodes = do if isUnboxedTupleCon con then returnUnboxedTuple amodes -- when profiling we can't shortcut here, we have to enter the closure -- for it to be marked as "used" for LDV profiling. - else if dopt Opt_SccProfilingOn dflags then build_it_then enter_it + else if dopt Opt_SccProfilingOn dflags then build_it_then (enter_it dflags) else ASSERT( amodes `lengthIs` dataConRepRepArity con ) do { EndOfBlockInfo _ sequel <- getEndOfBlockInfo ; case sequel of @@ -352,8 +352,9 @@ cgReturnDataCon con amodes = do } where node_live = Just [node] - enter_it = stmtsC [ CmmAssign nodeReg (cmmUntag (CmmReg nodeReg)), - CmmJump (entryCode $ closureInfoPtr $ CmmReg nodeReg) + enter_it dflags + = stmtsC [ CmmAssign nodeReg (cmmUntag (CmmReg nodeReg)), + CmmJump (entryCode dflags $ closureInfoPtr $ CmmReg nodeReg) node_live ] jump_to lbl = stmtC $ CmmJump (CmmLit lbl) node_live |