From 9be2d0b686267265506e25d1bb4a50f851b37d65 Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 19 Jan 2001 12:46:07 +0000 Subject: [PATCH] [project @ 2001-01-19 12:46:07 by simonmar] compile VoidRep arguments --- ghc/compiler/ghci/ByteCodeGen.lhs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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" -- 1.7.10.4