X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcodeGen%2FCgForeignCall.hs;h=dd959943fbef9f4d8c011acddd459aca9ef109f6;hb=3704620a9078bbcc429229e29242b7352647ee89;hp=ce272e9a86e8c94b9265fc2295ea3f7e92c2ca22;hpb=95e67967d9abbef73e8d355d0e168759b4ee0590;p=ghc-hetmet.git diff --git a/compiler/codeGen/CgForeignCall.hs b/compiler/codeGen/CgForeignCall.hs index ce272e9..dd95994 100644 --- a/compiler/codeGen/CgForeignCall.hs +++ b/compiler/codeGen/CgForeignCall.hs @@ -73,7 +73,7 @@ emitForeignCall results (CCall (CCallSpec target cconv safety)) args live = do vols <- getVolatileRegs live srt <- getSRTInfo emitForeignCall' safety results - (CmmForeignCall cmm_target cconv) call_args (Just vols) srt + (CmmCallee cmm_target cconv) call_args (Just vols) srt where (call_args, cmm_target) = case target of @@ -128,12 +128,12 @@ emitForeignCall' safety results target args vols srt -- Once that happens, this function will just emit a (CmmSafe srt) call, -- and the CPS will will be the one to convert that -- to this sequence of three CmmUnsafe calls. - stmtC (CmmCall (CmmForeignCall suspendThread CCallConv) + stmtC (CmmCall (CmmCallee suspendThread CCallConv) [ (id,PtrHint) ] [ (CmmReg (CmmGlobal BaseReg), PtrHint) ] CmmUnsafe) stmtC (CmmCall temp_target results temp_args CmmUnsafe) - stmtC (CmmCall (CmmForeignCall resumeThread CCallConv) + stmtC (CmmCall (CmmCallee resumeThread CCallConv) [ (new_base, PtrHint) ] [ (CmmReg (CmmLocal id), PtrHint) ] CmmUnsafe) @@ -159,9 +159,9 @@ load_args_into_temps = mapM arg_assign_temp tmp <- maybe_assign_temp e return (tmp,hint) -load_target_into_temp (CmmForeignCall expr conv) = do +load_target_into_temp (CmmCallee expr conv) = do tmp <- maybe_assign_temp expr - return (CmmForeignCall tmp conv) + return (CmmCallee tmp conv) load_target_into_temp other_target = return other_target