X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcodeGen%2FCgUsages.lhs;h=eec6be60672ffd8f847cb11580b9553feecbea41;hb=7d61cb61daa5e433a0cb85b34b7f0c58b2f961ff;hp=41ebe84c6c8e3157a26e4e68f7c92df6c93b9f98;hpb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;p=ghc-hetmet.git diff --git a/ghc/compiler/codeGen/CgUsages.lhs b/ghc/compiler/codeGen/CgUsages.lhs index 41ebe84..eec6be6 100644 --- a/ghc/compiler/codeGen/CgUsages.lhs +++ b/ghc/compiler/codeGen/CgUsages.lhs @@ -9,22 +9,26 @@ modify (\tr{set*} functions) the stacks and heap usage information. \begin{code} module CgUsages ( initHeapUsage, setVirtHp, getVirtAndRealHp, setRealHp, - setRealAndVirtualSps, + setRealAndVirtualSps, getVirtSps, getHpRelOffset, getSpARelOffset, getSpBRelOffset, ---UNUSED: getVirtSpRelOffsets, - freeBStkSlot, - - -- and to make the interface self-sufficient... - AbstractC, HeapOffset, RegRelative, CgState + freeBStkSlot ) where -import AbsCSyn +import Ubiq{-uitous-} +import CgLoop1 -- here for paranoia-checking + +import AbsCSyn ( RegRelative(..), AbstractC, CAddrMode ) import CgMonad -import Util +import HeapOffs ( zeroOff, + VirtualHeapOffset(..), + VirtualSpAOffset(..), + VirtualSpBOffset(..) + ) +import Id ( IdEnv(..) ) \end{code} %************************************************************************ @@ -131,22 +135,11 @@ getSpBRelOffset virtual_offset info_down state@(MkCgState _ _ (_,(_,_,realSpB,_) = (SpBRel realSpB virtual_offset, state) \end{code} - -\begin{code} -{- UNUSED: -getVirtSpRelOffsets :: FCode (RegRelative, RegRelative) -getVirtSpRelOffsets info_down - state@(MkCgState absC binds ((virtSpA,_,realSpA,_), (virtSpB,_,realSpB,_), _)) - = ((SpARel realSpA virtSpA, SpBRel realSpB virtSpB), state) --} -\end{code} - \begin{code} freeBStkSlot :: VirtualSpBOffset -> Code freeBStkSlot b_slot info_down state@(MkCgState absC binds (spa_usage, (virtSpB,free_b,realSpB,hwSpB), heap_usage)) - = MkCgState absC binds (spa_usage, (virtSpB,new_free_b,realSpB,hwSpB), heap_usage) - where - new_free_b = addFreeBSlots free_b [b_slot] - + = MkCgState absC binds (spa_usage, (virtSpB,new_free_b,realSpB,hwSpB), heap_usage) + where + new_free_b = addFreeBSlots free_b [b_slot] \end{code}