summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmExpr.hs
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2012-08-06 22:51:28 +0100
committerIan Lynagh <ian@well-typed.com>2012-08-06 22:51:28 +0100
commite6ef5ab66f51a8b821a4ae8646faca19cf600d94 (patch)
tree0ac8f5178caa80f1fabc3da22e46db8cb19a553a /compiler/codeGen/StgCmmExpr.hs
parent8e7fb28fc89eb9b99c747698f41995c269cd1090 (diff)
downloadhaskell-e6ef5ab66f51a8b821a4ae8646faca19cf600d94.tar.gz
Make tablesNextToCode "dynamic"
This is a bit odd by itself, but it's a stepping stone on the way to putting "target unregisterised" into the settings file.
Diffstat (limited to 'compiler/codeGen/StgCmmExpr.hs')
-rw-r--r--compiler/codeGen/StgCmmExpr.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs
index 95c61082c0..35533ec933 100644
--- a/compiler/codeGen/StgCmmExpr.hs
+++ b/compiler/codeGen/StgCmmExpr.hs
@@ -659,7 +659,8 @@ cgTailCall fun_id fun_info args = do
emitEnter :: CmmExpr -> FCode ReturnKind
emitEnter fun = do
- { adjustHpBackwards
+ { dflags <- getDynFlags
+ ; adjustHpBackwards
; sequel <- getSequel
; updfr_off <- getUpdFrameOff
; case sequel of
@@ -672,7 +673,7 @@ emitEnter fun = do
-- Right now, we do what the old codegen did, and omit the tag
-- test, just generating an enter.
Return _ -> do
- { let entry = entryCode $ closureInfoPtr $ CmmReg nodeReg
+ { let entry = entryCode dflags $ closureInfoPtr $ CmmReg nodeReg
; emit $ mkForeignJump NativeNodeCall entry
[cmmUntag fun] updfr_off
; return AssignedDirectly
@@ -714,7 +715,7 @@ emitEnter fun = do
-- refer to fun via nodeReg after the copyout, to avoid having
-- both live simultaneously; this sometimes enables fun to be
-- inlined in the RHS of the R1 assignment.
- ; let entry = entryCode (closureInfoPtr (CmmReg nodeReg))
+ ; let entry = entryCode dflags (closureInfoPtr (CmmReg nodeReg))
the_call = toCall entry (Just lret) updfr_off off outArgs regs
; emit $
copyout <*>