summaryrefslogtreecommitdiff
path: root/ghc/compiler/codeGen/CgHeapery.lhs
diff options
context:
space:
mode:
authorsimonmar <unknown>1999-05-26 14:12:32 +0000
committersimonmar <unknown>1999-05-26 14:12:32 +0000
commit451a8613203721d344e26eb043e8af827c58cd7b (patch)
treee9a4c2301218c5c5dc9fe59bd107d116f24652fd /ghc/compiler/codeGen/CgHeapery.lhs
parentb23684382e376ea1a68c90178b4d103b8181caef (diff)
downloadhaskell-451a8613203721d344e26eb043e8af827c58cd7b.tar.gz
[project @ 1999-05-26 14:12:07 by simonmar]
Several bugfixes (from SLPJ's tree).
Diffstat (limited to 'ghc/compiler/codeGen/CgHeapery.lhs')
-rw-r--r--ghc/compiler/codeGen/CgHeapery.lhs5
1 files changed, 4 insertions, 1 deletions
diff --git a/ghc/compiler/codeGen/CgHeapery.lhs b/ghc/compiler/codeGen/CgHeapery.lhs
index ba26f4d622..80d968f8eb 100644
--- a/ghc/compiler/codeGen/CgHeapery.lhs
+++ b/ghc/compiler/codeGen/CgHeapery.lhs
@@ -1,7 +1,7 @@
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CgHeapery.lhs,v 1.16 1999/05/13 17:30:56 simonm Exp $
+% $Id: CgHeapery.lhs,v 1.17 1999/05/26 14:12:13 simonmar Exp $
%
\section[CgHeapery]{Heap management functions}
@@ -310,6 +310,9 @@ altHeapCheck is_fun regs [] AbsCNop Nothing code
CCheck HP_CHK_NOREGS [mkIntCLit words_required] AbsCNop
-- The SEQ case (polymophic/function typed case branch)
+ -- We need this case because the closure in Node won't return
+ -- directly when we enter it (it could be a function), so the
+ -- heap check code needs to push a seq frame on top of the stack.
[VanillaReg rep ILIT(1)]
| rep == PtrRep
&& is_fun ->