Commit 7504acab authored by simonpj's avatar simonpj
Browse files

[project @ 2004-12-08 14:32:28 by simonpj]

Comments and asserts only
parent c418e72f
......@@ -91,7 +91,7 @@ voidIdInfo id = CgIdInfo { cg_id = id, cg_vol = NoVolatileLoc
, cg_rep = VoidArg }
-- Used just for VoidRep things
data VolatileLoc
data VolatileLoc -- These locations die across a call
= NoVolatileLoc
| RegLoc CmmReg -- In one of the registers (global or local)
| VirHpLoc VirtualHpOffset -- Hp+offset (address of closure)
......
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
% $Id: CgClosure.lhs,v 1.65 2004/11/26 16:20:03 simonmar Exp $
% $Id: CgClosure.lhs,v 1.66 2004/12/08 14:32:29 simonpj Exp $
%
\section[CgClosure]{Code generation for closures}
......@@ -237,7 +237,7 @@ So it should set up an update frame (if it is shared).
NB: Thunks cannot have a primitive type!
\begin{code}
closureCodeBody binder_info cl_info cc [] body = do
closureCodeBody binder_info cl_info cc [{- No args i.e. thunk -}] body = do
{ body_absC <- getCgStmts $ do
{ tickyEnterThunk cl_info
; ldvEnter (CmmReg nodeReg) -- NB: Node always points when profiling
......@@ -261,8 +261,9 @@ argSatisfactionCheck (by calling fetchAndReschedule). There info if
Node points to closure is available. -- HWL
\begin{code}
closureCodeBody binder_info cl_info cc args body = do
{ -- Get the current virtual Sp (it might not be zero,
closureCodeBody binder_info cl_info cc args body
= ASSERT( length args > 0 )
do { -- Get the current virtual Sp (it might not be zero,
-- eg. if we're compiling a let-no-escape).
vSp <- getVirtSp
; let (reg_args, other_args) = assignCallRegs (addIdReps args)
......
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
% $Id: CgMonad.lhs,v 1.42 2004/11/26 16:20:10 simonmar Exp $
% $Id: CgMonad.lhs,v 1.43 2004/12/08 14:32:31 simonpj Exp $
%
\section[CgMonad]{The code generation monad}
......@@ -280,7 +280,7 @@ data StackUsage
hwSp :: VirtualSpOffset
} -- Highest value ever taken by virtSp
-- INVARAINT: The environment contains no Stable references to
-- INVARIANT: The environment contains no Stable references to
-- stack slots below (lower offset) frameSp
-- It can contain volatile references to this area though.
......
......@@ -295,7 +295,7 @@ cgTopBinding dflags (StgRec pairs, srts)
; bndrs' <- mapFCs maybeExternaliseId bndrs
; let pairs' = zip bndrs' rhss
; mapM_ (mkSRT dflags bndrs') srts
; new_binds <- fixC (\ new_binds -> do
; _new_binds <- fixC (\ new_binds -> do
{ addBindsC new_binds
; mapFCs ( \ (b,e) -> cgTopRhs b e ) pairs' })
; nopC }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment