diff options
author | simonmar <unknown> | 1999-05-26 14:12:32 +0000 |
---|---|---|
committer | simonmar <unknown> | 1999-05-26 14:12:32 +0000 |
commit | 451a8613203721d344e26eb043e8af827c58cd7b (patch) | |
tree | e9a4c2301218c5c5dc9fe59bd107d116f24652fd /ghc/compiler/codeGen | |
parent | b23684382e376ea1a68c90178b4d103b8181caef (diff) | |
download | haskell-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-5 | 2 | ||||
-rw-r--r-- | ghc/compiler/codeGen/CgExpr.hi-boot | 2 | ||||
-rw-r--r-- | ghc/compiler/codeGen/CgHeapery.lhs | 5 |
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 -> |