From: simonmar Date: Fri, 19 Jan 2001 12:46:07 +0000 (+0000) Subject: [project @ 2001-01-19 12:46:07 by simonmar] X-Git-Tag: Approximately_9120_patches~2845 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=9be2d0b686267265506e25d1bb4a50f851b37d65;p=ghc-hetmet.git [project @ 2001-01-19 12:46:07 by simonmar] compile VoidRep arguments --- diff --git a/ghc/compiler/ghci/ByteCodeGen.lhs b/ghc/compiler/ghci/ByteCodeGen.lhs index 12c0463..5b5cc23 100644 --- a/ghc/compiler/ghci/ByteCodeGen.lhs +++ b/ghc/compiler/ghci/ByteCodeGen.lhs @@ -15,7 +15,7 @@ module ByteCodeGen ( UnlinkedBCO, UnlinkedBCOExpr, ItblEnv, ClosureEnv, HValue, import Outputable import Name ( Name, getName, mkSysLocalName ) import Id ( Id, idType, isDataConId_maybe, mkVanillaId, - isPrimOpId_maybe ) + isPrimOpId_maybe, idPrimRep ) import OrdList ( OrdList, consOL, snocOL, appOL, unitOL, nilOL, toOL, concatOL, fromOL ) import FiniteMap ( FiniteMap, addListToFM, listToFM, @@ -576,6 +576,11 @@ mkUnpackCode vars d p pushAtom :: Bool -> Int -> BCEnv -> AnnExpr' Id VarSet -> (BCInstrList, Int) pushAtom tagged d p (AnnVar v) + + | idPrimRep v == VoidRep + = ASSERT(tagged) + (unitOL (PUSH_TAG 0), 1) + | Just primop <- isPrimOpId_maybe v = case primop of CCallOp _ -> panic "pushAtom: byte code generator can't handle CCalls"