summaryrefslogtreecommitdiff
path: root/ghc/compiler/codeGen
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
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')
-rw-r--r--ghc/compiler/codeGen/CgBindery.hi-boot-52
-rw-r--r--ghc/compiler/codeGen/CgExpr.hi-boot2
-rw-r--r--ghc/compiler/codeGen/CgHeapery.lhs5
3 files changed, 6 insertions, 3 deletions
diff --git a/ghc/compiler/codeGen/CgBindery.hi-boot-5 b/ghc/compiler/codeGen/CgBindery.hi-boot-5
index 5486201937..520af42d4c 100644
--- a/ghc/compiler/codeGen/CgBindery.hi-boot-5
+++ b/ghc/compiler/codeGen/CgBindery.hi-boot-5
@@ -1,7 +1,7 @@
__interface CgBindery 1 0 where
__export CgBindery CgBindings CgIdInfo{MkCgIdInfo} VolatileLoc StableLoc nukeVolatileBinds maybeStkLoc;
1 type CgBindings = VarEnv.IdEnv CgIdInfo;
-1 data CgIdInfo = MkCgIdInfo Var.Id VolatileLoc StableLoc ClosureInfo!LambdaFormInfo;
+1 data CgIdInfo = MkCgIdInfo Var.Id VolatileLoc StableLoc ClosureInfo.LambdaFormInfo;
1 data VolatileLoc;
1 data StableLoc;
1 nukeVolatileBinds :: CgBindings -> CgBindings ;
diff --git a/ghc/compiler/codeGen/CgExpr.hi-boot b/ghc/compiler/codeGen/CgExpr.hi-boot
index 7b85a71e26..a091afa31f 100644
--- a/ghc/compiler/codeGen/CgExpr.hi-boot
+++ b/ghc/compiler/codeGen/CgExpr.hi-boot
@@ -1,5 +1,5 @@
_interface_ CgExpr 1
_exports_
-CgExpr cgExpr;
+CgExpr cgExpr ;
_declarations_
1 cgExpr _:_ StgSyn.StgExpr -> CgMonad.Code ;;
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 ->