summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmLayout.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-09-20 13:32:12 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-09-20 14:00:07 +0100
commit987710c1eb099ecd8982ef1c212450f9640d99ff (patch)
tree65abc51b2e5084cd39d0292b4ea0104593082047 /compiler/codeGen/StgCmmLayout.hs
parent448ad24fd71b3aa399a80083515ab655b11756ba (diff)
downloadhaskell-987710c1eb099ecd8982ef1c212450f9640d99ff.tar.gz
non-tablesNextToCode fix for returns in the new codegen
Diffstat (limited to 'compiler/codeGen/StgCmmLayout.hs')
-rw-r--r--compiler/codeGen/StgCmmLayout.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmLayout.hs b/compiler/codeGen/StgCmmLayout.hs
index fa80edc96c..75d8d1c38f 100644
--- a/compiler/codeGen/StgCmmLayout.hs
+++ b/compiler/codeGen/StgCmmLayout.hs
@@ -85,7 +85,9 @@ emitReturn results
; case sequel of
Return _ ->
do { adjustHpBackwards
- ; emit (mkReturnSimple dflags results updfr_off) }
+ ; let e = CmmLoad (CmmStackSlot Old updfr_off) (gcWord dflags)
+ ; emit (mkReturn dflags (entryCode dflags e) results updfr_off)
+ }
AssignTo regs adjust ->
do { when adjust adjustHpBackwards
; emitMultiAssign regs results }