summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmExpr.hs
diff options
context:
space:
mode:
authordias@eecs.tufts.edu <unknown>2009-03-23 17:28:37 +0000
committerdias@eecs.tufts.edu <unknown>2009-03-23 17:28:37 +0000
commit5d1c70a506f366eca47464f2a354de8cc0d9a795 (patch)
tree1a48d2dbe980047a1f43e730a2bbfd98f28194c2 /compiler/codeGen/StgCmmExpr.hs
parente239aa2329416a2822fcc03c4ed486c7d28739e1 (diff)
downloadhaskell-5d1c70a506f366eca47464f2a354de8cc0d9a795.tar.gz
Another small step: call and return conventions specified separately when making calls
Diffstat (limited to 'compiler/codeGen/StgCmmExpr.hs')
-rw-r--r--compiler/codeGen/StgCmmExpr.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs
index 462def3d5d..f3687fcc07 100644
--- a/compiler/codeGen/StgCmmExpr.hs
+++ b/compiler/codeGen/StgCmmExpr.hs
@@ -465,7 +465,8 @@ cgTailCall fun_id fun_info args = do
; [ret,call] <- forkAlts [
getCode $ emitReturn [fun], -- Is tagged; no need to untag
getCode $ do emit (mkAssign nodeReg fun)
- emitCall NativeCall (entryCode fun') []] -- Not tagged
+ emitCall (NativeCall, NativeReturn)
+ (entryCode fun') []] -- Not tagged
; emit (mkCmmIfThenElse (cmmIsTagged fun) ret call) }
SlowCall -> do -- A slow function call via the RTS apply routines