diff options
author | simonmar <unknown> | 1999-06-24 13:04:23 +0000 |
---|---|---|
committer | simonmar <unknown> | 1999-06-24 13:04:23 +0000 |
commit | a5f7799965947977599a777dae10f103f9b9fd1a (patch) | |
tree | 3accb2db5dd41da2239e53ac710ae41c2beabb33 /ghc/compiler/codeGen/CgStackery.lhs | |
parent | 36c2d7c8e9da3b2e278d508ac25c7d53522f85f3 (diff) | |
download | haskell-a5f7799965947977599a777dae10f103f9b9fd1a.tar.gz |
[project @ 1999-06-24 13:04:13 by simonmar]
- Implement update-in-place in certain very specialised circumstances
- Clean up abstract C a bit
- Speed up pretty-printing absC a bit.
Diffstat (limited to 'ghc/compiler/codeGen/CgStackery.lhs')
-rw-r--r-- | ghc/compiler/codeGen/CgStackery.lhs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ghc/compiler/codeGen/CgStackery.lhs b/ghc/compiler/codeGen/CgStackery.lhs index a5479fe3c9..d97476e345 100644 --- a/ghc/compiler/codeGen/CgStackery.lhs +++ b/ghc/compiler/codeGen/CgStackery.lhs @@ -1,7 +1,7 @@ % % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % -% $Id: CgStackery.lhs,v 1.11 1999/06/08 15:56:47 simonmar Exp $ +% $Id: CgStackery.lhs,v 1.12 1999/06/24 13:04:20 simonmar Exp $ % \section[CgStackery]{Stack management functions} @@ -13,7 +13,8 @@ module CgStackery ( allocStack, allocPrimStack, allocStackTop, deAllocStackTop, adjustStackHW, getFinalStackHW, mkTaggedVirtStkOffsets, mkTaggedStkAmodes, mkTagAssts, - freeStackSlots, dataStackSlots, addFreeSlots + freeStackSlots, dataStackSlots, addFreeSlots, + updateFrameSize, seqFrameSize ) where #include "HsVersions.h" @@ -24,7 +25,10 @@ import AbsCSyn import CgUsages ( getRealSp ) import AbsCUtils ( mkAbstractCs, mkAbsCStmts, getAmodeRep ) import PrimRep ( getPrimRepSize, PrimRep(..), isFollowableRep ) +import CmdLineOpts ( opt_SccProfilingOn ) import Panic ( panic ) +import Constants ( uF_SIZE, sCC_UF_SIZE, sEQ_FRAME_SIZE, sCC_SEQ_FRAME_SIZE ) + import IOExts ( trace ) \end{code} @@ -219,6 +223,13 @@ getFinalStackHW fcode info_down (MkCgState absC binds usages) = state1 (MkCgState _ _ ((_,_,_, hwSp), _)) = state1 \end{code} +\begin{code} +updateFrameSize | opt_SccProfilingOn = sCC_UF_SIZE + | otherwise = uF_SIZE + +seqFrameSize | opt_SccProfilingOn = sCC_SEQ_FRAME_SIZE + | otherwise = sEQ_FRAME_SIZE +\end{code} %************************************************************************ %* * |