X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcodeGen%2FCgUsages.lhs;h=c8b98f696d546502299ea3f29bf8994d47bdad08;hb=553e90d9a32ee1b1809430f260c401cc4169c6c7;hp=8c40c9a47084db7281b91a6f413ab870722bdd7e;hpb=c31a55d1d200e9d1d72d0f09fce5204c425b801d;p=ghc-hetmet.git diff --git a/ghc/compiler/codeGen/CgUsages.lhs b/ghc/compiler/codeGen/CgUsages.lhs index 8c40c9a..c8b98f6 100644 --- a/ghc/compiler/codeGen/CgUsages.lhs +++ b/ghc/compiler/codeGen/CgUsages.lhs @@ -107,27 +107,27 @@ setRealAndVirtualSp :: VirtualSpOffset -- New real Sp -> Code setRealAndVirtualSp sp = do - ((vsp,f,realSp,hwsp), h_usage) <- getUsage - let new_usage = ((sp, f, sp, sp), h_usage) + ((vsp,frame,f,realSp,hwsp), h_usage) <- getUsage + let new_usage = ((sp, frame, f, sp, sp), h_usage) setUsage new_usage \end{code} \begin{code} getVirtSp :: FCode VirtualSpOffset getVirtSp = do - ((virtSp,_,_,_), _) <- getUsage + ((virtSp,_,_,_,_), _) <- getUsage return virtSp getRealSp :: FCode VirtualSpOffset getRealSp = do - ((_,_,realSp,_),_) <- getUsage + ((_,_,_,realSp,_),_) <- getUsage return realSp \end{code} \begin{code} getSpRelOffset :: VirtualSpOffset -> FCode RegRelative getSpRelOffset virtual_offset = do - ((_,_,realSp,_),_) <- getUsage + ((_,_,_,realSp,_),_) <- getUsage return $ spRel realSp virtual_offset \end{code} @@ -153,7 +153,7 @@ adjustSpAndHp :: VirtualSpOffset -- New offset for Arg stack ptr adjustSpAndHp newRealSp = do (MkCgInfoDown _ _ _ ticky_ctr _) <- getInfoDown (MkCgState absC binds - ((vSp,fSp,realSp,hwSp), + ((vSp,frame,fSp,realSp,hwSp), (vHp, rHp))) <- getState let move_sp = if (newRealSp == realSp) then AbsCNop else (CAssign (CReg Sp) @@ -162,9 +162,9 @@ adjustSpAndHp newRealSp = do if (rHp == vHp) then AbsCNop else mkAbstractCs [ CAssign (CReg Hp) (CAddr (hpRel rHp vHp)), - profCtrAbsC SLIT("TICK_ALLOC_HEAP") + profCtrAbsC FSLIT("TICK_ALLOC_HEAP") [ mkIntCLit (vHp - rHp), CLbl ticky_ctr DataPtrRep ] ] - let new_usage = ((vSp, fSp, newRealSp, hwSp), (vHp,vHp)) + let new_usage = ((vSp, frame, fSp, newRealSp, hwSp), (vHp,vHp)) setState $ MkCgState (mkAbstractCs [absC,move_sp,move_hp]) binds new_usage \end{code}