diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-09-20 13:32:12 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-09-20 14:00:07 +0100 |
commit | 987710c1eb099ecd8982ef1c212450f9640d99ff (patch) | |
tree | 65abc51b2e5084cd39d0292b4ea0104593082047 /compiler/codeGen/StgCmmLayout.hs | |
parent | 448ad24fd71b3aa399a80083515ab655b11756ba (diff) | |
download | haskell-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.hs | 4 |
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 } |