From 0d8a3d2a15ac4a940270df467e1ba5f46b8e2ce4 Mon Sep 17 00:00:00 2001 From: simonpj Date: Wed, 23 Dec 1998 10:24:06 +0000 Subject: [PATCH] [project @ 1998-12-23 10:24:06 by simonpj] Fix strictness of NewArrayOp and NewMutVarOp in PrimOp.lhs --- ghc/compiler/prelude/PrimOp.lhs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ghc/compiler/prelude/PrimOp.lhs b/ghc/compiler/prelude/PrimOp.lhs index 3570e60..9d7075a 100644 --- a/ghc/compiler/prelude/PrimOp.lhs +++ b/ghc/compiler/prelude/PrimOp.lhs @@ -856,13 +856,21 @@ primOpStrictness :: PrimOp -> ([Demand], Bool) -- Use only the ones you ned. primOpStrictness SeqOp = ([wwLazy], False) +primOpStrictness NewArrayOp = ([wwPrim, wwLazy, wwPrim], False) primOpStrictness WriteArrayOp = ([wwPrim, wwPrim, wwLazy, wwPrim], False) + +primOpStrictness NewMutVarOp = ([wwLazy, wwPrim], False) primOpStrictness WriteMutVarOp = ([wwPrim, wwLazy, wwPrim], False) + primOpStrictness PutMVarOp = ([wwPrim, wwLazy, wwPrim], False) + primOpStrictness CatchOp = ([wwLazy, wwLazy], False) primOpStrictness RaiseOp = ([wwLazy], True) -- NB: True => result is bottom + primOpStrictness MkWeakOp = ([wwLazy, wwLazy, wwLazy, wwPrim], False) primOpStrictness MakeStablePtrOp = ([wwLazy, wwPrim], False) + + -- The rest all have primitive-typed arguments primOpStrictness other = (repeat wwPrim, False) \end{code} -- 1.7.10.4